:root {
  --ink: #18211d;
  --muted: #66726c;
  --line: #dce3df;
  --paper: #ffffff;
  --canvas: #f4f6f4;
  --green: #176b4a;
  --green-dark: #105239;
  --green-soft: #e8f3ed;
  --amber: #9a5c00;
  --amber-soft: #fff2d7;
  --red: #a33b31;
  --red-soft: #fbe9e7;
  --blue-soft: #e8f0fb;
  --shadow: 0 14px 36px rgba(31, 46, 39, .09);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  color: var(--ink);
  background: var(--canvas);
}

.simulation-scene-page { max-width: 1280px; padding-bottom: 24px; }
.simulation-page-head { align-items: center; margin-bottom: 16px; }
.simulation-page-head h1 { margin-bottom: 0; }
.simulation-editor-layout {
  display: grid;
  grid-template-columns: minmax(270px, .68fr) minmax(0, 1.75fr);
  align-items: start;
  gap: 14px;
}
.simulation-context-column,
.simulation-primary-column { display: grid; min-width: 0; gap: 14px; }
.simulation-panel { position: relative; padding: 0; overflow: hidden; }
.simulation-panel > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 16px;
  cursor: pointer;
  list-style: none;
  transition: background-color .16s ease;
}
.simulation-panel > summary::-webkit-details-marker { display: none; }
.simulation-panel > summary:hover { background: #f7faf8; }
.simulation-panel > summary:focus-visible { outline: 3px solid rgba(23, 107, 74, .2); outline-offset: -3px; }
.simulation-panel[open] > summary { border-bottom: 1px solid var(--line); }
.simulation-panel-summary h2 { margin: 0; color: #273b31; font-size: 16px; }
.simulation-panel-heading { display: flex; align-items: center; gap: 8px; }
.simulation-panel-summary .count-pill { padding: 3px 8px; font-size: 10px; }
.simulation-orders-panel > .simulation-panel-summary { padding-right: 128px; }
.simulation-primary-column .simulation-panel > .simulation-panel-header-action {
  position: absolute;
  top: 29px;
  right: 36px;
  z-index: 2;
  margin: 0;
  padding: 7px 11px;
  font-size: 11px;
}
.simulation-panel-body { padding: 0 16px 16px; }
.simulation-customer-editor { padding-top: 16px; }
.simulation-context-column .form-grid { grid-template-columns: 1fr; }
.simulation-context-column .form-grid .wide { grid-column: auto; }
.simulation-context-column .simulation-panel > button,
.simulation-primary-column .simulation-panel > button { margin: 0 16px 16px; }
.simulation-primary-column .simulation-panel-body { padding: 0; }
.domain-editor { padding: 16px 0; border-top: 1px solid var(--line); }
.domain-editor:first-of-type { border-top: 0; }
.domain-editor textarea[name="attributes"] { min-height: 76px; }
.simulation-entity-card {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #fff;
}
.simulation-entity-card + .simulation-entity-card { border-top: 8px solid var(--canvas); }
.simulation-entity-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 16px;
  border-bottom: 1px solid #dfe6e2;
  background: #f8faf9;
}
.simulation-entity-head .eyebrow { margin-bottom: 4px; }
.simulation-entity-head h3 { margin: 0; font-size: 16px; }
.simulation-form-section { padding: 16px; border-bottom: 1px solid #e5eae7; }
.simulation-form-section h4 { margin: 0 0 12px; color: #273b31; font-size: 13px; }
.simulation-form-section:last-of-type { border-bottom: 0; }
.simulation-money-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.simulation-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
}
.simulation-section-head h4 { margin: 0; }
.simulation-section-head button { flex: 0 0 auto; }
.simulation-form-details { border-bottom: 1px solid #e5eae7; }
.simulation-form-details > summary { padding: 14px 16px; color: var(--green-dark); font-weight: 800; list-style-position: inside; }
.simulation-form-details[open] > summary { border-bottom: 1px solid #e5eae7; background: #fafcfb; }
.simulation-form-details > .form-grid { padding: 16px; }
.simulation-form-details [hidden] { display: none; }
.simulation-subcard-list { display: grid; gap: 11px; }
.simulation-subcard {
  padding: 13px;
  border: 1px solid #dbe4df;
  border-radius: 10px;
  background: #fafcfb;
}
.simulation-subcard-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 13px;
}
.simulation-subcard-head strong,
.simulation-subcard-head small { display: block; }
.simulation-subcard-head small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.simulation-subcard textarea { min-height: 66px; }
.simulation-entity-card > .compact-action { margin: 0 16px 16px; }
.simulation-order-record { position: static; padding: 0; }
.simulation-order-record + .simulation-order-record { border-top: 1px solid var(--line); }
.simulation-order-row {
  display: grid;
  grid-template-columns: minmax(190px, 1.45fr) minmax(96px, .62fr) minmax(175px, .9fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 76px;
  padding: 13px 16px;
}
.simulation-order-row:hover { background: #fafcfb; }
.simulation-order-identity {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 5px 9px;
  min-width: 0;
}
.simulation-order-identity .badge { grid-row: 1 / span 2; }
.simulation-order-identity strong,
.simulation-order-identity small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.simulation-order-identity strong { color: #273b31; font-size: 13px; }
.simulation-order-identity small { color: var(--muted); font-size: 10px; }
.simulation-order-metric { display: grid; gap: 2px; min-width: 0; }
.simulation-order-metric span,
.simulation-order-metric small { color: var(--muted); font-size: 9px; }
.simulation-order-metric strong { color: #273b31; font-size: 14px; }
.simulation-order-metric strong span { color: inherit; font-size: inherit; }
.simulation-order-child-links { display: flex; align-items: center; gap: 6px; min-width: 0; }
.simulation-order-child-links a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  padding: 6px 8px;
  border-radius: 8px;
  color: var(--muted);
  font-size: 10px;
  text-decoration: none;
  cursor: pointer;
}
.simulation-order-child-links a:hover { background: var(--green-soft); color: var(--green-dark); }
.simulation-order-child-links strong { max-width: 88px; overflow: hidden; color: var(--green-dark); text-overflow: ellipsis; white-space: nowrap; }
.simulation-order-row > .button-link { padding: 7px 10px; font-size: 11px; cursor: pointer; }
.simulation-order-row a:focus-visible,
.simulation-order-drawer a:focus-visible { outline: 3px solid rgba(23, 107, 74, .2); outline-offset: 2px; }
body.simulation-drawer-open { overflow: hidden; }
.simulation-order-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: rgba(20, 32, 26, .34);
  backdrop-filter: blur(1px);
}
.simulation-order-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 61;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  width: min(720px, calc(100vw - 32px));
  min-width: 0;
  overflow: hidden;
  background: #fff;
  box-shadow: -18px 0 48px rgba(22, 37, 29, .2);
}
.simulation-order-drawer[hidden],
.simulation-order-drawer-backdrop[hidden] { display: none; }
.simulation-order-drawer-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 21px 15px;
  border-bottom: 1px solid var(--line);
}
.simulation-order-drawer-head .eyebrow { margin-bottom: 3px; }
.simulation-order-drawer-head h2 { margin: 0; font-size: 21px; }
.simulation-order-drawer-head .button-link { cursor: pointer; }
.simulation-order-drawer-tabs {
  display: flex;
  gap: 22px;
  padding: 0 21px;
  border-bottom: 1px solid var(--line);
  background: #fafcfb;
}
.simulation-order-drawer-tabs a {
  position: relative;
  padding: 13px 1px 11px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.simulation-order-drawer-tabs a.active { color: var(--green-dark); }
.simulation-order-drawer-tabs a.active::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--green); content: ""; }
.simulation-order-drawer-tabs span { display: inline-flex; min-width: 18px; justify-content: center; padding: 1px 5px; border-radius: 999px; background: #e9efec; font-size: 9px; }
.simulation-order-drawer-body { min-height: 0; overflow: auto; background: #fff; }
.simulation-order-drawer-body > section[data-drawer-panel] { min-height: 100%; }
.simulation-order-drawer-body > section[data-drawer-panel][hidden] { display: none; }
.simulation-drawer-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 21px 15px;
  border-bottom: 1px solid var(--line);
}
.simulation-drawer-section-head h3 { margin: 0 0 4px; font-size: 16px; }
.simulation-drawer-section-head p { margin: 0; color: var(--muted); font-size: 10px; }
.simulation-order-drawer [data-role="simulation-order-items"],
.simulation-order-drawer [data-role="simulation-order-shipments"] { padding: 16px 21px; }
.simulation-order-drawer [data-role="simulation-order-shipments"]:empty { display: none; }
.simulation-order-shipment-empty { margin: 18px 21px 12px; padding: 24px 18px; border: 1px dashed #cad6cf; border-radius: 10px; background: #fafcfb; color: var(--muted); text-align: center; font-size: 11px; }
.simulation-order-shipment-empty[hidden] { display: none; }
.simulation-order-drawer [data-action="add-simulation-order-shipment"] { margin: 0 21px 20px; }
.simulation-order-delete { margin: 16px 21px 22px; }
.simulation-order-drawer .simulation-entity-card { border: 1px solid var(--line); border-radius: 11px; }
.simulation-order-drawer .simulation-entity-card > .compact-action { margin-bottom: 16px; }
.nested-create { margin-top: 14px; padding: 14px; border: 1px dashed var(--border, #cbd5df); border-radius: 12px; }
.nested-create > summary { cursor: pointer; font-weight: 700; }
.tool-behavior-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; padding-top: 16px; }
.tool-behavior-grid .domain-editor { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #f8faf9; }
.simulation-tool-editor > div strong,
.simulation-tool-editor > div small { display: block; }
.simulation-tool-editor > div small { margin-top: 3px; color: var(--muted); font-size: 9px; font-weight: 500; }
.simulation-scene-list-columns,
.simulation-scene-card {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 92px 56px minmax(330px, 1fr) 116px;
  align-items: center;
  gap: 12px;
}
.simulation-scene-list-columns { padding: 0 16px 8px; color: var(--muted); font-size: 11px; font-weight: 800; }
.simulation-scenes-list-panel > .page-head h2 { color: var(--muted); }
.simulation-scene-card-list { gap: 8px; }
.simulation-scene-card { padding: 14px 16px; }
.simulation-scene-name-cell { min-width: 0; }
.simulation-scene-name-cell h3 { overflow: hidden; margin: 0; text-overflow: ellipsis; white-space: nowrap; }
.simulation-scene-data-cell { color: #415047; font-size: 12px; }
.simulation-scene-card-status { display: flex; align-items: center; }
.simulation-scene-summary { display: flex; align-items: center; gap: 20px; min-width: 0; color: var(--muted); font-size: 11px; white-space: nowrap; }
.simulation-scene-summary strong { margin-left: 3px; color: #273b31; font-size: 12px; }
.simulation-scene-card-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.simulation-scene-name { margin-bottom: 12px; }
.simulation-scene-name label { max-width: 680px; }
.simulation-editor-fields { min-width: 0; margin: 0; padding: 0; border: 0; }
.simulation-editor-fields:disabled { opacity: 1; }
.compact-action { justify-self: start; width: auto; }
.simulation-save-bar {
  position: sticky;
  bottom: 12px;
  z-index: 8;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 18px;
  padding: 13px 15px;
  border: 1px solid #b8cfc3;
  border-radius: 12px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 28px rgba(31, 46, 39, .12);
  backdrop-filter: blur(8px);
}
.simulation-save-bar span { color: var(--muted); font-size: 12px; }
.simulation-save-bar button { min-width: 150px; }
.simulation-save-bar[hidden] { display: none; }
.field-label-caption { display: inline-flex; align-items: baseline; gap: 3px; }
.required-mark { color: var(--red); font-weight: 800; }

.skill-page { display: grid; gap: 18px; }
.skill-page > .page-head { margin-bottom: 0; }
.skill-panel { padding: 0; overflow: hidden; }
.skill-toolbar { display: grid; grid-template-columns: minmax(260px, 1fr) auto auto auto; align-items: end; gap: 9px; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.skill-toolbar label { gap: 5px; }
.skill-toolbar > span { align-self: center; justify-self: end; color: var(--muted); font-size: 12px; }
.skill-table-wrap { border: 0; border-radius: 0; }
.skill-table { table-layout: fixed; }
.skill-table th:first-child { width: 25%; }
.skill-table th:nth-child(3) { width: 110px; }
.skill-table th:last-child { width: 210px; }
.skill-table td { vertical-align: top; }
.skill-name { display: block; margin-bottom: 8px; line-height: 1.5; }
.skill-description { display: -webkit-box; margin: 0; overflow: hidden; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.skill-status { display: inline-flex; padding: 3px 7px; border-radius: 999px; background: var(--green-soft); color: var(--green-dark); font-size: 10px; font-weight: 800; }
.skill-version { color: var(--muted); font-size: 12px; font-weight: 700; }
.skill-drawer { width: min(820px, calc(100vw - 48px)); }
.skill-editor-form {
  grid-template-rows: minmax(0, 1fr) auto;
  align-content: stretch;
  gap: 0;
  padding: 0;
  overflow: hidden;
}
.skill-drawer > .skill-editor-form { min-height: 0; }
.skill-editor-scroll { min-height: 0; overflow: auto; }
.skill-primary-fields {
  display: grid;
  align-content: start;
  gap: 15px;
  padding: 20px 22px 18px;
}
.skill-primary-fields > label:first-child { max-width: 420px; }
.skill-primary-fields textarea[name="description"] { min-height: 92px; }
.skill-instructions-field { display: grid; gap: 6px; }
.skill-field-title { font-size: 12px; font-weight: 700; color: #4c5952; }
.skill-editor-form .skill-instructions { min-height: 220px; font-family: inherit; line-height: 1.7; }
.skill-tool-permissions { display: grid; gap: 10px; margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fbfcfb; }
.skill-tool-permissions legend { padding: 0 5px; color: #4c5952; font-size: 12px; font-weight: 750; }
.skill-tool-permissions legend span { color: var(--muted); font-weight: 500; }
.skill-tool-permissions p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.skill-tool-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.skill-tool-option { display: flex; flex-direction: row; align-items: center; gap: 8px; min-height: 40px; padding: 8px 10px; border: 1px solid #dce6e0; border-radius: 9px; background: #fff; color: #33423a; cursor: pointer; }
.skill-tool-option:has(input:checked) { border-color: #8fc3a6; background: var(--green-soft); }
.skill-tool-option input { width: 16px; height: 16px; margin: 0; }
@media (max-width: 900px) {
  .skill-toolbar { grid-template-columns: 1fr auto; }
  .skill-toolbar > span { justify-self: start; }
  .skill-tool-options { grid-template-columns: 1fr; }
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 1080px; background: var(--canvas); }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }

.topbar {
  height: 68px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 28px;
  padding: 0 28px;
  background: #13271f;
  color: #f7fbf8;
  position: sticky;
  top: 0;
  z-index: 20;
}
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; width: max-content; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #b9e4cd; color: #123a2a; font-weight: 800; }
.brand strong, .brand small { display: block; }
.brand small { color: #adc0b7; font-size: 11px; margin-top: 2px; }
nav { display: flex; align-items: center; gap: 6px; }
nav a { text-decoration: none; padding: 9px 14px; border-radius: 9px; color: #d7e3dc; font-size: 14px; }
nav a:hover, nav a.active { background: rgba(255,255,255,.1); color: white; }
.identity { justify-self: end; display: flex; align-items: center; gap: 9px; color: #c8d5ce; font-size: 13px; }
.identity button { margin-left: 10px; color: #fff; background: transparent; border: 1px solid #52675c; }
.resume-session-link { max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 7px 9px; border: 1px solid #52675c; border-radius: 8px; color: #fff; text-decoration: none; font-size: 12px; font-weight: 800; }
.resume-session-link:hover { border-color: #8ba99a; background: rgba(255,255,255,.08); }

main { padding: 26px 28px 46px; }
.page { max-width: 1480px; margin: 0 auto; }
.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.eyebrow { margin: 0 0 8px; color: var(--green); font-weight: 800; font-size: 11px; letter-spacing: .14em; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: 27px; margin-bottom: 6px; letter-spacing: -.02em; }
h2 { font-size: 18px; }
h3 { font-size: 14px; }
.subtle { color: var(--muted); font-size: 13px; }

.panel, .card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(22, 34, 28, .02);
}
.panel { padding: 20px; }
.card { padding: 16px; }
.stack { display: grid; gap: 14px; }
.split { display: grid; grid-template-columns: minmax(310px, .72fr) minmax(600px, 1.5fr); gap: 18px; align-items: start; }
.batch-layout { display: grid; gap: 18px; }
.batch-create-panel { padding: 0; overflow: hidden; }
.batch-create-panel > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  cursor: pointer;
  list-style: none;
}
.batch-create-panel > summary::-webkit-details-marker { display: none; }
.batch-create-panel > summary:hover { background: #f8faf9; }
.batch-create-panel > summary:focus-visible { outline: 3px solid rgba(23, 107, 74, .22); outline-offset: -3px; }
.batch-create-panel > summary p { margin-bottom: 0; }
.batch-create-panel[open] > summary { border-bottom: 1px solid var(--line); }
.batch-create-form { padding: 20px; }
[data-role="simulation-copy-source"][hidden] { display: none; }
.summary-hint { color: var(--green); font-size: 12px; font-weight: 800; white-space: nowrap; }
.history-panel, .issue-create-panel, .current-tasks-panel { padding: 0; overflow: hidden; }
.history-panel > summary, .issue-create-panel > summary, .current-tasks-panel > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  list-style: none;
}
.history-panel > summary::-webkit-details-marker, .issue-create-panel > summary::-webkit-details-marker, .current-tasks-panel > summary::-webkit-details-marker { display: none; }
.history-panel[open] > summary, .issue-create-panel[open] > summary, .current-tasks-panel[open] > summary { border-bottom: 1px solid var(--line); }
.issue-create-panel > summary h2 { margin-bottom: 5px; }
.history-panel > summary p, .issue-create-panel > summary p, .current-tasks-panel > summary p { margin-bottom: 0; }
.batch-create-panel > summary h2,
.current-tasks-panel > summary h2,
.history-panel > summary h2 {
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 18px;
  font-weight: 700;
}
.history-content, .issue-create-form, .current-tasks-content { padding: 20px; }
.current-tasks-panel > summary:hover { background: #f8faf9; }
.current-tasks-panel > summary:focus-visible { outline: 3px solid rgba(23, 107, 74, .22); outline-offset: -3px; }
.current-tasks-summary-meta { display: inline-flex; align-items: center; gap: 10px; }
.count-pill { padding: 5px 10px; border-radius: 999px; background: var(--green-soft); color: var(--green-dark); font-size: 12px; font-weight: 800; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.form-grid .wide { grid-column: 1 / -1; }
.field-help { margin: 0; color: var(--muted); font-size: 12px; }
.advanced-options { margin-top: 3px; }
.advanced-options > summary { width: max-content; cursor: pointer; color: var(--green); font-size: 12px; font-weight: 700; }
.advanced-options[open] > summary { margin-bottom: 10px; }
.technical-details { margin-top: 8px; border: 1px solid #e2e7e4; border-radius: 9px; background: #fafbfa; }
.technical-details > summary { padding: 9px 11px; color: #58665e; font-weight: 700; list-style-position: inside; }
.technical-details[open] > summary { border-bottom: 1px solid #e2e7e4; }
.technical-details-body, .technical-details > p, .technical-details > dl, .technical-details > pre { margin: 0; padding: 11px; }
.technical-details.compact { margin-top: 0; }
.technical-details.compact > summary { padding: 6px 8px; }
.issue-detail-panel { position: sticky; top: 86px; max-height: calc(100vh - 110px); padding: 16px; overflow: auto; }
.issue-detail-content { gap: 12px; }
.issue-detail-heading h2 { margin: 0; font-size: 18px; line-height: 1.4; }
.issue-detail-heading p { margin: 4px 0 0; }
.issue-detail-actions:empty { display: none; }
.issue-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.issue-field { min-width: 0; padding: 10px 11px; border: 1px solid #dce4df; border-radius: 9px; background: #f8faf9; }
.issue-field-wide { grid-column: 1 / -1; }
.issue-field-label, .issue-field > h2 { display: block; margin: 0; color: var(--muted); font-size: 11px; font-weight: 700; }
.issue-field > p, .issue-field > strong { display: block; margin: 4px 0 0; font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.issue-field select, .issue-field textarea { margin-top: 6px; background: #fff; }
.issue-source-value { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; margin-top: 4px; }
.issue-source-value p { min-width: 0; margin: 0; font-size: 12px; line-height: 1.5; }
.issue-source-value .text-button { flex: 0 0 auto; }
.text-button { width: auto; min-height: 0; border: 0; padding: 0; background: transparent; color: var(--green-dark); font-size: 12px; text-decoration: underline; }
.text-button:hover:not(:disabled) { border: 0; background: transparent; color: var(--green); }
.issue-editable-field { padding: 0; }
.issue-editable-field > summary { padding: 10px 11px; list-style: none; cursor: pointer; }
.issue-editable-field > summary::-webkit-details-marker { display: none; }
.issue-field-summary-value { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 4px; }
.issue-field-summary-value strong { min-width: 0; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.issue-field-summary-value em { flex: 0 0 auto; color: var(--green-dark); font-size: 11px; font-style: normal; font-weight: 800; }
.issue-field-editor { margin: 0 11px 11px; padding-top: 9px; border-top: 1px solid #dce4df; }
.inspector-primary { padding: 14px; border: 1px solid #cfe0d7; border-radius: 12px; background: #f7fbf8; }
.inspector-primary h2 { margin-bottom: 6px; }
.issue-resolution-form { gap: 12px; }
.issue-resolution-form textarea { min-height: 64px; }
.issue-resolution-submit { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding-top: 10px; border-top: 1px solid #dce8e1; }
.issue-resolution-submit strong { display: block; font-size: 12px; }
.issue-resolution-submit .field-help { margin: 3px 0 0; }
.issue-resolution-submit button { grid-column: 2; min-height: 40px; justify-self: end; }
.inspector-technical > summary { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.action-details { padding: 10px; border: 1px solid #d8e3dd; border-radius: 9px; background: #f7faf8; }
.action-details > summary { color: var(--green-dark); font-weight: 800; }
label { display: grid; gap: 6px; font-size: 12px; font-weight: 700; color: #4c5952; }
input, textarea, select {
  width: 100%;
  border: 1px solid #cbd5cf;
  border-radius: 9px;
  padding: 10px 11px;
  background: #fff;
  color: var(--ink);
  outline: none;
}
textarea { min-height: 80px; resize: vertical; }
input:focus, textarea:focus, select:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(23, 107, 74, .12); }
button {
  border: 1px solid #cbd5cf;
  background: #fff;
  color: var(--ink);
  border-radius: 9px;
  padding: 9px 13px;
  cursor: pointer;
  font-weight: 700;
  font-size: 13px;
}
button:hover:not(:disabled) { border-color: #8fa098; background: #f8faf9; }
button:disabled { opacity: .5; cursor: not-allowed; }
button.primary { border-color: var(--green); background: var(--green); color: #fff; }
button.primary:hover:not(:disabled) { border-color: var(--green-dark); background: var(--green-dark); }
button.danger { border-color: #ddb4af; color: var(--red); }
.button-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.button-row.centered { justify-content: center; }
.session-scenario { display: inline-flex; align-items: center; gap: 6px; margin: 0; white-space: nowrap; }
.session-scenario select { min-width: 190px; padding: 8px 10px; }
.task-list-toolbar { display: grid; grid-template-columns: minmax(280px, 1fr) 190px; gap: 10px; align-items: end; margin-bottom: 16px; padding: 0; }
.task-list-toolbar input, .task-list-toolbar select { background: #fff; }
.task-card-list { display: grid; gap: 12px; }
.task-card { padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: 0 1px 2px rgba(22, 34, 28, .02); }
.task-card[hidden] { display: none; }
.task-card-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: start; }
.task-card-head .eyebrow { margin-bottom: 5px; }
.task-card-head h3 { margin-bottom: 5px; font-size: 16px; }
.task-card-head p:not(.eyebrow) { display: -webkit-box; overflow: hidden; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.current-tasks-panel .task-card-list { gap: 0; }
.task-list-columns,
.batch-task-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.08fr) minmax(190px, .92fr) minmax(155px, .72fr) minmax(170px, .82fr) minmax(185px, .78fr);
  gap: 18px;
}
.task-list-columns { align-items: center; padding: 0 15px 10px; border-bottom: 1px solid var(--line); color: #536159; font-size: 11px; font-weight: 800; }
.batch-task-row { grid-template-areas: "identity objective stage progress action" "details details details details details"; align-items: center; padding: 18px 15px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: #fff; box-shadow: none; }
.batch-task-row:last-child { border-bottom: 0; }
.task-cell { min-width: 0; }
.task-identity { grid-area: identity; }
.task-objective { grid-area: objective; }
.task-stage { grid-area: stage; }
.task-progress { grid-area: progress; }
.task-next-action { grid-area: action; }
.task-kind { margin: 0 0 6px; color: var(--green); font-size: 10px; font-weight: 800; }
.task-identity h3 { margin: 0 0 7px; font-size: 16px; line-height: 1.35; }
.task-objective, .task-stage, .task-progress { display: grid; align-content: center; gap: 5px; }
.task-objective strong { display: -webkit-box; overflow: hidden; color: #28342e; font-size: 12px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.task-objective > span:last-child, .task-stage > span:last-child, .task-progress > span:last-child { color: var(--muted); font-size: 10px; line-height: 1.45; }
.task-stage strong { color: var(--green-dark); font-size: 13px; line-height: 1.4; }
.task-progress strong { font-size: 12px; line-height: 1.4; }
.task-progress > span[data-tone="warning"] { color: var(--amber); }
.task-progress > span[data-tone="danger"] { color: var(--red); }
.task-progress > span[data-tone="ok"] { color: #607069; }
.task-mobile-label { display: none; color: var(--muted); font-size: 10px; font-weight: 800; }
.task-next-action { display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 8px 12px; }
.task-primary-actions { display: flex; align-items: center; min-width: 0; }
.task-primary-actions > button, .task-primary-actions > a { justify-content: center; min-width: 138px; white-space: nowrap; }
.task-action-note { color: var(--muted); font-size: 11px; }
.task-details-toggle { min-height: 0; padding: 3px 0; border: 0; background: transparent; color: var(--green-dark); font-size: 11px; }
.task-details-toggle:hover:not(:disabled) { border: 0; background: transparent; color: var(--green); text-decoration: underline; }
.task-details-toggle:focus:not(:focus-visible) { outline: none; }
.task-details-toggle:focus-visible { outline: 2px solid rgba(23, 107, 74, .35); outline-offset: 3px; border-radius: 3px; }
.task-row-details { grid-area: details; display: grid; grid-template-columns: minmax(0, 1fr) minmax(290px, .55fr); gap: 22px; margin: 16px -15px -18px; padding: 16px 15px; border-top: 1px solid var(--line); background: #f8faf9; }
.task-row-details[hidden] { display: none; }
.task-detail-settings { min-width: 0; }
.task-detail-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 11px; }
.task-detail-heading strong { font-size: 12px; }
.task-detail-heading span { color: var(--muted); font-size: 10px; }
.task-detail-empty, .task-config-note { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.task-config-note { align-self: end; padding: 8px 10px; border-left: 2px solid #d3a454; background: var(--amber-soft); color: #7a520f; }
.task-detail-meta { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; min-width: 0; }
.task-detail-meta dl { display: grid; gap: 6px; min-width: 0; margin: 0; }
.task-detail-meta dl > div { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 8px; }
.task-detail-meta dt { color: var(--muted); font-size: 10px; }
.task-detail-meta dd { min-width: 0; margin: 0; overflow-wrap: anywhere; font-size: 10px; }
.task-delete-action { flex: 0 0 auto; align-self: flex-end; }
.session-config { display: grid; grid-template-columns: repeat(3, minmax(155px, 1fr)); gap: 8px; align-items: end; }
.session-config [hidden] { display: none; }
.task-row-details .session-scenario { display: grid; grid-template-columns: auto minmax(150px, 1fr); min-width: 0; }
.task-row-details .session-scenario select { min-width: 0; }
.button-link.task-primary-link { border-color: var(--green); background: var(--green); color: #fff; }
.button-link.task-primary-link:hover { border-color: var(--green-dark); background: var(--green-dark); }

.table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: 12px; }
table { width: 100%; border-collapse: collapse; background: #fff; font-size: 13px; }
th, td { padding: 12px 13px; border-bottom: 1px solid #e8ece9; text-align: left; vertical-align: top; }
th { color: #5a675f; background: #f7f9f7; font-size: 11px; letter-spacing: .03em; text-transform: uppercase; }
tr:last-child td { border-bottom: 0; }
tr[data-click] { cursor: pointer; }
tr[data-click]:hover td { background: #f6faf7; }
tr[data-click]:focus-visible { outline: 3px solid rgba(23, 107, 74, .28); outline-offset: -3px; }
.mono { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 11px; color: #617068; }
.badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 999px; background: #edf1ef; color: #46544c; font-size: 12px; font-weight: 800; white-space: nowrap; }
.badge.ACTIVE, .badge.COMPLETED, .badge.READY, .badge.REVIEWED, .badge.CONFIRMED, .badge.RESOLVED { background: var(--green-soft); color: var(--green-dark); }
.badge.PROCESSING, .badge.PENDING, .badge.REVIEWING, .badge.BLOCKED, .badge.CHANGED, .badge.NOT_CREATED, .badge.MESSAGES_PENDING, .badge.JUDGMENT_PENDING, .badge.REVIEW_PENDING { background: var(--amber-soft); color: var(--amber); }
.badge.FAILED, .badge.INVALIDATED, .badge.PROBLEM { background: var(--red-soft); color: var(--red); }
.badge.UNSURE, .badge.PARTIAL { background: var(--blue-soft); color: #355d92; }
.badge.LOW, .badge.ADD, .badge.SUCCEEDED, .badge.VALIDATED, .badge.BUILT, .badge.RELEASED, .badge.PASSED, .badge.NOT_REQUIRED { background: var(--green-soft); color: var(--green-dark); }
.badge.MEDIUM, .badge.UPDATE, .badge.DRAFT, .badge.READY_FOR_CONFIRMATION, .badge.CONFIRMED, .badge.BUILDING, .badge.VALIDATING, .badge.IMPORTING, .badge.RUNNING, .badge.QUEUED, .badge.RELEASE_REQUESTED, .badge.REQUIRED { background: var(--amber-soft); color: var(--amber); }
.badge.HIGH, .badge.REMOVE, .badge.BUILD_FAILED, .badge.VALIDATION_FAILED, .badge.RELEASE_FAILED, .badge.STALE, .badge.REJECTED, .badge.INCOMPLETE { background: var(--red-soft); color: var(--red); }
.badge.SUPPORTED { background: var(--green-soft); color: var(--green-dark); }
.badge.HUMAN_ONLY { background: var(--amber-soft); color: var(--amber); }
.badge.UNSUPPORTED { background: var(--red-soft); color: var(--red); }
.empty { padding: 44px 18px; text-align: center; color: var(--muted); }

.workbench { display: grid; grid-template-columns: 250px minmax(520px, 1fr) 350px; gap: 14px; height: calc(100vh - 140px); min-height: 610px; }
.workbench > section { min-height: 0; overflow: auto; }
.side-panel { padding: 17px; }
.workbench > .side-panel.stack { align-content: start; grid-auto-rows: max-content; }
.workbench > .session-sidebar { display: grid; grid-template-rows: minmax(0, 1fr) auto; padding: 0; overflow: hidden; }
.session-sidebar-scroll { min-height: 0; padding: 17px; overflow: hidden; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 14px; }
.session-sidebar-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.session-sidebar-header h2 { min-width: 0; margin: 0; }
.session-sidebar-header button.compact { flex: 0 0 auto; padding: 7px 9px; font-size: 11px; }
.session-sidebar-footer { padding: 12px 17px 15px; border-top: 1px solid var(--line); background: var(--paper); }
.session-sidebar-footer a { color: var(--muted); font-size: 11px; font-weight: 800; text-decoration: none; }
.session-list { min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); align-items: stretch; gap: 8px; }
.session-list-heading { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 10px; }
.session-list-heading strong { color: var(--ink); font-size: 12px; }
.session-list-scroll { min-height: 0; display: grid; align-content: start; gap: 7px; overflow-y: auto; overscroll-behavior: contain; padding: 2px; }
.session-list-item { display: grid; gap: 6px; min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: inherit; text-decoration: none; }
.session-list-item:hover { border-color: #afcabb; background: #f8fbf9; }
.session-list-item.current { border-color: #75a98f; background: var(--green-soft); box-shadow: inset 3px 0 0 var(--green); }
.session-list-item-head, .session-list-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.session-list-item-head strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.session-list-item-head .badge { padding: 3px 6px; font-size: 9px; }
.session-list-summary { display: -webkit-box; overflow: hidden; color: var(--muted); font-size: 10px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.session-list-meta { color: var(--muted); font-size: 9px; }
.conversation-head { align-items: flex-start; }
.conversation-head-status, .conversation-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.conversation-actions button { white-space: nowrap; }
.action-tooltip { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.action-icon { flex: 0 0 auto; width: 16px; height: 16px; }
.action-tooltip::after {
  content: attr(data-tooltip);
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 30;
  width: max-content;
  max-width: 280px;
  padding: 7px 9px;
  border-radius: 7px;
  background: #18211d;
  color: #fff;
  box-shadow: 0 6px 18px rgba(24, 33, 29, .18);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.45;
  white-space: normal;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-3px);
  transition: opacity .14s ease, transform .14s ease;
}
.action-tooltip:hover::after,
.action-tooltip:focus-visible::after { opacity: 1; transform: translateY(0); }
.metric-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 14px 0; }
.metric { padding: 10px; border-radius: 9px; background: #f4f7f5; }
.metric strong { display: block; font-size: 19px; }
.metric span { color: var(--muted); font-size: 11px; }
.timeline { padding: 19px; display: flex; flex-direction: column; }
.messages { flex: 1; overflow: auto; display: flex; flex-direction: column; gap: 14px; padding: 5px 5px 22px; }
.message { max-width: 83%; border-radius: 13px; padding: 12px 14px; line-height: 1.55; font-size: 14px; cursor: pointer; }
.message.customer { align-self: flex-end; background: #dff1e7; border-bottom-right-radius: 4px; }
.message.agent { align-self: flex-start; background: #f0f2f1; border-bottom-left-radius: 4px; }
.message.human-agent { align-self: flex-start; border: 1px solid #bfd2f5; border-bottom-left-radius: 4px; background: #eaf1ff; color: #243b64; cursor: default; }
.message.human-agent .message-meta { color: #58709a; }
.message.failed { align-self: flex-start; background: var(--red-soft); color: #772d27; }
.message.handoff-notice { align-self: flex-start; border: 1px solid #e8aaa4; border-bottom-left-radius: 4px; background: var(--red-soft); color: #772d27; }
.handoff-notice-content { display: flex; align-items: center; gap: 8px; }
.handoff-notice-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 3px rgba(177, 61, 51, .12); }
.message.handoff-notice .message-meta { color: #8b4741; }
.message.selected { outline: 2px solid #2d8b65; outline-offset: 2px; }
.message:focus-visible { outline: 3px solid rgba(23, 107, 74, .3); outline-offset: 3px; }
.message-meta { display: flex; gap: 7px; margin-top: 7px; color: var(--muted); font-size: 10px; }
.pending-turn-message { cursor: default; animation: message-enter .18s ease-out; }
.pending-reply { cursor: wait; color: #536159; animation: message-enter .18s ease-out; }
.pending-reply-line { display: inline-flex; align-items: center; gap: 8px; }
.typing-indicator { display: inline-flex; align-items: center; gap: 4px; height: 12px; }
.typing-indicator i { width: 6px; height: 6px; border-radius: 50%; background: #6f7d75; animation: typing-pulse 1.1s infinite ease-in-out; }
.typing-indicator i:nth-child(2) { animation-delay: .15s; }
.typing-indicator i:nth-child(3) { animation-delay: .3s; }
.ownership-console { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0 -2px 12px; padding: 11px 12px; border: 1px solid #e3b469; border-radius: 11px; background: #fff8e8; }
.ownership-console-status { display: grid; gap: 2px; }
.ownership-console-status strong { color: #7a4a0f; font-size: 13px; }
.ownership-console-status span { color: #8b6a3d; font-size: 11px; }
.ownership-console-status .operator-hint { color: var(--text); font-size: 12px; font-weight: 650; }
.ownership-console-actions { display: flex; align-items: center; gap: 9px; }
.handoff-hint-details { display: grid; gap: 8px; margin: 0; }
.handoff-hint-details > div { display: grid; grid-template-columns: minmax(92px, .35fr) 1fr; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--border); }
.handoff-hint-details dt { color: var(--muted); }
.handoff-hint-details dd { margin: 0; overflow-wrap: anywhere; }
.perspective-switch { display: inline-flex; padding: 3px; border: 1px solid #dac9a9; border-radius: 9px; background: #fff; }
.perspective-switch button { min-height: 30px; padding: 5px 10px; border: 0; border-radius: 6px; background: transparent; color: #6d604d; box-shadow: none; font-size: 11px; }
.perspective-switch button.active { background: #2f6f57; color: #fff; }
.composer { border-top: 1px solid var(--line); padding-top: 12px; }
.composer.human-composer { border-top-color: #bfd2f5; }
.composer-surface { overflow: hidden; border: 1px solid #cbd5cf; border-radius: 11px; background: #fff; transition: border-color .14s ease, box-shadow .14s ease; }
.composer-surface:focus-within { border-color: var(--green); box-shadow: 0 0 0 3px rgba(23, 107, 74, .1); }
.human-composer .composer-surface { border-color: #b8cbea; }
.human-composer .composer-surface:focus-within { border-color: #7294c9; box-shadow: 0 0 0 3px rgba(68, 108, 171, .1); }
.composer-asset-strip { display: flex; align-items: center; gap: 8px; min-height: 55px; padding: 7px 10px; overflow-x: auto; overflow-y: hidden; border-bottom: 1px solid #e5eae7; scrollbar-width: thin; }
.composer-attachment-picker { position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 38px; height: 38px; padding: 0; border: 1px solid #d3ddd7; border-radius: 9px; background: #f8faf9; color: #405249; cursor: pointer; }
.composer-attachment-picker:hover { border-color: #9fb6a9; background: var(--green-soft); color: var(--green-dark); }
.composer-attachment-picker:focus-within { outline: 3px solid rgba(23, 107, 74, .16); outline-offset: 1px; }
.composer-attachment-picker .action-icon { width: 18px; height: 18px; }
.composer-attachment-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.composer-attachment-tile { position: relative; flex: 0 0 auto; width: 58px; height: 40px; border: 1px solid #d7dfda; border-radius: 8px; background: #f1f4f2; }
.composer-attachment-tile img,
.composer-attachment-tile video,
.composer-attachment-tile .attachment-video-loader { display: block; width: 100%; height: 100%; min-height: 0; padding: 0; border: 0; border-radius: 7px; object-fit: cover; }
.composer-attachment-tile .attachment-video-loader { background: #46514b; color: #fff; box-shadow: none; }
.composer-attachment-tile .attachment-video-loader:hover:not(:disabled) { border: 0; background: #303a35; }
.composer-attachment-tile .attachment-video-loader .action-icon { width: 17px; height: 17px; margin: auto; fill: currentColor; }
.composer-attachment-remove { position: absolute; top: -6px; right: -6px; display: inline-flex; align-items: center; justify-content: center; width: 19px; height: 19px; min-height: 0; padding: 0; border: 1px solid #cbd5cf; border-radius: 999px; background: #fff; color: #526159; box-shadow: 0 1px 3px rgba(24, 33, 29, .13); }
.composer-attachment-remove:hover:not(:disabled) { border-color: #97a89f; background: #fff; color: var(--red); }
.composer-attachment-remove .action-icon { width: 11px; height: 11px; }
.composer-attachment-tile.preview-failed img,
.composer-attachment-tile.preview-failed video { opacity: .35; }
.composer textarea { min-height: 72px; padding: 12px 13px 6px; border: 0; border-radius: 0; background: transparent; line-height: 1.55; resize: none; box-shadow: none; }
.composer textarea:focus { border: 0; box-shadow: none; }
.composer-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 9px 9px 12px; }
.composer-role-indicator { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 9px; border-radius: 8px; font-size: 11px; font-weight: 800; }
.composer-role-indicator.customer { border: 1px solid #d2e4da; background: #f1f8f4; color: var(--green-dark); }
.composer-role-indicator.human { border: 1px solid #c8d7ef; background: #edf3fd; color: #355d92; }
.composer-submit { min-width: 88px; min-height: 36px; padding: 8px 13px; }
.chat-attachments { display: grid; gap: 7px; margin-top: 9px; }
.chat-attachment { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 7px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255, 255, 255, .72); }
.chat-attachment img, .chat-attachment video { width: 64px; height: 48px; border-radius: 6px; background: #f1f1ed; object-fit: cover; }
.attachment-video-loader { width: 64px; height: 48px; min-height: 0; padding: 4px; border: 1px solid var(--line); border-radius: 6px; background: #f1f1ed; box-shadow: none; color: var(--muted); font-size: 10px; }
.chat-attachment strong, .chat-attachment small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chat-attachment strong { font-size: 11px; }
.chat-attachment small { color: var(--muted); font-size: 9px; margin-top: 2px; }
.chat-attachment.preview-failed img, .chat-attachment.preview-failed video { opacity: .35; }
@media (max-width: 900px) {
  .ownership-console, .ownership-console-actions { align-items: stretch; flex-direction: column; }
  .ownership-console-actions > button { width: 100%; }
  .perspective-switch { display: grid; grid-template-columns: 1fr 1fr; }
}
.diagnostic-list { display: grid; gap: 8px; }
.diagnostic-item { padding: 10px; background: #f6f8f7; border-radius: 9px; }
.diagnostic-item dt { color: var(--muted); font-size: 11px; }
.diagnostic-item dd { margin: 4px 0 0; font-size: 12px; word-break: break-word; }
.answer-evidence { display: grid; gap: 14px; }
.answer-evidence-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.answer-evidence-head .eyebrow { margin-bottom: 4px; }
.answer-evidence-head h2 { margin: 0; font-size: 20px; }
.resolution-path-list { display: grid; gap: 10px; }
.resolution-path-card { padding: 13px; border: 1px solid #cfe0d8; border-radius: 11px; background: #f4faf7; }
.resolution-path-card h3 { margin: 0 0 10px; color: #244a38; font-size: 13px; }
.resolution-path-card dl { display: grid; gap: 7px; margin: 0; }
.resolution-path-card dl > div { display: grid; grid-template-columns: minmax(96px, .38fr) minmax(0, 1fr); gap: 10px; align-items: start; }
.resolution-path-card dt { color: var(--muted); font-size: 10px; font-weight: 800; }
.resolution-path-card dd { margin: 0; color: var(--ink); font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.evidence-list { overflow: hidden; border: 1px solid #dce5e0; border-radius: 11px; background: #f8faf9; }
.evidence-item { display: grid; gap: 4px; padding: 12px 13px; }
.evidence-item + .evidence-item { border-top: 1px solid #e1e7e3; }
.evidence-item > span { color: var(--muted); font-size: 10px; font-weight: 800; }
.evidence-item > strong { color: var(--ink); font-size: 13px; line-height: 1.5; }
.evidence-item > p { margin: 2px 0 0; color: #46544c; font-size: 12px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.faq-evidence { background: #fff; }
.empty-evidence { background: #fafbfa; }
.empty-evidence > strong { color: var(--muted); font-weight: 600; }
.evidence-actions { display: flex; align-items: center; gap: 8px; }
.evidence-actions .secondary-primary { flex: 1; }
.evidence-actions .compact { flex: 0 0 auto; }
.inspector-runtime { margin: 2px 0 0; overflow: hidden; background: #fff; }
.inspector-runtime > summary { list-style-position: inside; }
.inspector-runtime > summary > span { display: inline-grid; gap: 2px; vertical-align: middle; }
.inspector-runtime > summary strong { color: var(--ink); font-size: 12px; }
.inspector-runtime > summary small { color: var(--muted); font-size: 10px; font-weight: 500; }
.runtime-details-body { display: grid; gap: 12px; padding: 12px; }
.turn-capability { display: grid; gap: 10px; }
.turn-capability-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.turn-capability-head h3 { margin: 0; font-size: 13px; }
.turn-capability-head > span { color: var(--muted); font-size: 10px; }
.runtime-empty { margin: 0; color: var(--muted); font-size: 11px; }
.capability-facts { display: grid; gap: 7px; margin: 0; }
.capability-facts > div { padding: 9px; border-radius: 9px; background: #f4f7f5; }
.capability-facts dt { color: var(--muted); font-size: 10px; }
.capability-facts dd { margin: 4px 0 0; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.capability-details > summary { color: var(--green-dark); cursor: pointer; font-weight: 800; }
.capability-details ul { display: grid; gap: 7px; margin: 9px 0 0; padding: 0; list-style: none; }
.capability-details li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 8px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.capability-details li p { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.4; }
.capability-details li span { color: var(--muted); font-size: 10px; }
.capability-details li.muted-item { display: block; color: var(--muted); }
.llm-trace-section { display: grid; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid #e2e7e4; }
.llm-business-diagnostic { margin-top: 10px; }
.llm-trace-heading h3, .llm-readable-section h4, .llm-body-tabs > section > h3 { margin: 0; color: var(--ink); }
.llm-trace-heading h3 { font-size: 14px; }
.llm-trace-heading p { margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.llm-call-list { display: grid; gap: 9px; }
.llm-call-card { overflow: hidden; border: 1px solid #d8e1dc; border-radius: 10px; background: #fff; }
.llm-call-card > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px; cursor: pointer; }
.llm-call-card[open] > summary { border-bottom: 1px solid #e4e9e6; background: #f8faf9; }
.llm-call-card > summary > span { display: grid; gap: 3px; min-width: 0; }
.llm-call-card > summary strong { font-size: 12px; }
.llm-call-card > summary small { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.llm-call-summary-state { justify-items: end; text-align: right; }
.llm-call-summary-state .badge { padding: 3px 6px; font-size: 9px; }
.llm-call-error { padding: 8px 10px; border-bottom: 1px solid #efd4cf; background: #fff6f4; color: var(--red); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 10px; overflow-wrap: anywhere; }
.llm-call-body { padding: 11px; }
.llm-body-tabs { display: grid; gap: 14px; }
.llm-body-tabs > section { display: grid; gap: 10px; min-width: 0; }
.llm-body-tabs > section + section { padding-top: 14px; border-top: 1px dashed #d7dfda; }
.llm-body-tabs > section > h3 { font-size: 13px; }
.llm-readable-section { display: grid; gap: 8px; }
.llm-readable-section h4 { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 11px; }
.llm-readable-section .count-pill { padding: 2px 6px; font-size: 9px; }
.llm-parameter-grid { display: grid; gap: 6px; }
.llm-parameter { display: grid; grid-template-columns: minmax(92px, .7fr) minmax(0, 1.3fr); gap: 9px; padding: 7px 8px; border-radius: 7px; background: #f4f7f5; }
.llm-parameter span { color: var(--muted); font-size: 10px; }
.llm-parameter strong { min-width: 0; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 10px; font-weight: 600; overflow-wrap: anywhere; white-space: pre-wrap; }
.llm-message-list, .llm-tool-list { display: grid; gap: 7px; }
.llm-message { overflow: hidden; border: 1px solid #dce4df; border-radius: 8px; background: #fff; }
.llm-message-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 8px; border-bottom: 1px solid #e5eae7; background: #f5f8f6; }
.llm-message-head strong { font-size: 10px; }
.llm-message-content, .llm-answer-content { padding: 9px; color: #26342c; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; white-space: pre-wrap; }
.llm-answer-content { border: 1px solid #cfe0d7; border-radius: 8px; background: #f8fbf9; }
.llm-message pre, .llm-tool-call pre, .llm-tool-definition pre, .llm-raw-json pre { max-height: 320px; margin: 0; border-radius: 0; font-size: 9px; white-space: pre; overflow: auto; }
.llm-tool-call { display: grid; gap: 6px; padding: 8px; border-top: 1px solid #e5eae7; }
.llm-tool-call strong { font-size: 10px; }
.llm-tool-definition { overflow: hidden; border: 1px solid #dce4df; border-radius: 8px; background: #fff; }
.llm-tool-definition > summary, .llm-raw-json > summary { padding: 8px; cursor: pointer; color: var(--green-dark); font-size: 10px; font-weight: 800; }
.llm-tool-definition p { margin: 0; padding: 0 8px 8px; color: var(--muted); font-size: 10px; }
.llm-tool-definition[open] > summary, .llm-raw-json[open] > summary { border-bottom: 1px solid #e4e9e6; }
.llm-raw-json { overflow: hidden; border: 1px solid #d5ded9; border-radius: 8px; background: #fff; }
.llm-code-toolbar { display: flex; justify-content: flex-end; padding: 7px 8px; background: #f5f8f6; }
.llm-code-toolbar button { padding: 5px 8px; font-size: 9px; }
.llm-raw-json pre { max-height: 420px; }
.login-shell { position: fixed; inset: 68px 0 0; z-index: 30; background: radial-gradient(circle at 50% 15%, #eef5f0, #e4eae6); display: grid; place-items: center; }
.login-shell[hidden] { display: none; }
.login-card { width: 430px; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 30px; box-shadow: var(--shadow); display: grid; gap: 16px; }
.login-card h1 { margin-bottom: 0; }
.login-card p { color: var(--muted); line-height: 1.5; }
.form-error { color: var(--red) !important; min-height: 18px; font-size: 12px; }
.toast { position: fixed; right: 24px; bottom: 24px; z-index: 50; max-width: 430px; padding: 13px 16px; border-radius: 10px; background: #17241e; color: #fff; box-shadow: var(--shadow); font-size: 13px; }
.toast.error { background: #742f29; }
.action-dialog { width: min(560px, calc(100vw - 40px)); border: 0; border-radius: 16px; padding: 0; color: var(--ink); box-shadow: 0 24px 80px rgba(17, 35, 27, .28); }
.action-dialog::backdrop { background: rgba(12, 25, 19, .48); backdrop-filter: blur(2px); }
.action-dialog form { padding: 24px; }
.action-dialog [hidden] { display: none; }
.action-dialog h2 { margin-bottom: 7px; }
.action-dialog textarea { min-height: 112px; }
.action-dialog-actions { justify-content: flex-end; padding-top: 4px; }
.action-dialog-actions button { min-width: 100px; }
.warning { background: var(--amber-soft); color: #754600; padding: 11px 12px; border-radius: 9px; font-size: 12px; line-height: 1.5; }
.danger-note { background: var(--red-soft); color: #772d27; padding: 11px 12px; border-radius: 9px; font-size: 12px; }
.success-note { background: var(--green-soft); color: var(--green-dark); padding: 11px 12px; border-radius: 9px; font-size: 12px; margin-top: 12px; }
.divider { border: 0; border-top: 1px solid var(--line); margin: 17px 0; }
details { font-size: 12px; }
summary { cursor: pointer; color: var(--muted); }

.button-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  border: 1px solid #cbd5cf;
  background: #fff;
  border-radius: 9px;
  padding: 9px 13px;
  font-weight: 700;
  font-size: 13px;
}
.page-head.compact { align-items: flex-start; margin-bottom: 12px; }
.page-head.compact h3 { margin: 8px 0 0; }
pre { margin: 8px 0 0; padding: 12px; overflow: auto; border-radius: 9px; background: #17241e; color: #e9f2ed; font-size: 11px; white-space: pre-wrap; overflow-wrap: anywhere; }
.compact-empty { padding: 24px 18px; border: 1px dashed #cad6cf; border-radius: 11px; background: #fafcfb; }
.compact-empty strong { display: block; margin-bottom: 6px; color: var(--ink); }
.compact-empty p { margin: 0; }
@keyframes message-enter {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes typing-pulse {
  0%, 60%, 100% { opacity: .3; transform: translateY(0); }
  30% { opacity: 1; transform: translateY(-2px); }
}

@media (prefers-reduced-motion: reduce) {
  .pending-turn-message, .pending-reply, .typing-indicator i { animation: none; }
}

@media (max-width: 1180px) {
  body { min-width: 960px; }
  .simulation-editor-layout { grid-template-columns: minmax(250px, .62fr) minmax(0, 1.58fr); }
  .simulation-money-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .simulation-order-row { grid-template-columns: minmax(175px, 1.35fr) minmax(86px, .55fr) minmax(150px, .85fr) auto; gap: 10px; }
  .workbench { grid-template-columns: 230px minmax(420px, 1fr) 320px; }
  .task-list-columns { display: none; }
  .batch-task-row { grid-template-columns: minmax(0, 1.15fr) minmax(155px, .72fr) minmax(185px, .82fr); grid-template-areas: "identity stage action" "objective progress action" "details details details"; align-items: start; }
  .task-mobile-label { display: block; }
  .task-next-action { align-content: start; }
  .task-row-details { grid-template-columns: 1fr; }
  .task-detail-meta { align-items: center; }
  .session-config { grid-template-columns: 1fr; }
}
.knowledge-row-actions { display: flex; flex-wrap: wrap; gap: 6px; }
button.ghost { background: transparent; box-shadow: none; }
.knowledge-empty { display: grid; place-items: center; gap: 6px; min-height: 145px; padding: 22px; text-align: center; }
.knowledge-empty p { max-width: 540px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }

.service-scope-page { display: grid; gap: 18px; }
.service-scope-page > .page-head { margin-bottom: 0; }
.service-scope-table { min-width: 760px; }
.service-scope-table th:nth-child(1) { width: 22%; }
.service-scope-table th:nth-child(2) { width: 16%; }
.service-scope-table th:nth-child(3) { width: auto; }
.service-scope-table th:nth-child(4) { width: 150px; }
.service-scope-drawer textarea { min-height: 220px; }

.knowledge-drawer-backdrop { position: fixed; inset: 0; z-index: 45; background: rgba(20,32,26,.34); backdrop-filter: blur(1px); }
.knowledge-drawer { position: fixed; inset: 0 0 0 auto; z-index: 46; display: grid; grid-template-rows: auto minmax(0, 1fr); width: min(720px, 92vw); background: #fff; box-shadow: -18px 0 48px rgba(22,37,29,.2); }
.knowledge-drawer-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 19px 21px; border-bottom: 1px solid var(--line); }
.knowledge-drawer-head h2 { margin: 3px 0 5px; font-size: 21px; }
.knowledge-drawer-head p:last-child { margin: 0; color: var(--muted); font-size: 11px; }
.knowledge-drawer-form { display: grid; align-content: start; gap: 14px; padding: 18px 21px 92px; overflow: auto; }
.knowledge-drawer-actions { position: sticky; bottom: -92px; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 4px -21px -92px; padding: 13px 21px; border-top: 1px solid var(--line); background: rgba(255,255,255,.98); box-shadow: 0 -8px 22px rgba(30,50,40,.08); }
.knowledge-drawer-actions > span { color: var(--muted); font-size: 11px; }
.skill-editor-actions {
  position: static;
  bottom: auto;
  justify-content: flex-end;
  min-height: 68px;
  margin: 0;
  padding: 14px 22px;
  background: #fff;
  box-shadow: 0 -8px 22px rgba(30,50,40,.08);
}
.skill-editor-actions .primary { min-width: 150px; }
.required-mark { display: inline-flex; margin-left: 6px; color: #a44338; font-size: 9px; }

.faq-page { max-width: 1120px; }
.faq-panel { padding: 0; overflow: hidden; }
.faq-toolbar { display: grid; grid-template-columns: minmax(260px, 1fr) auto auto auto; align-items: end; gap: 9px; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.faq-toolbar label { gap: 5px; }
.faq-toolbar > span { align-self: center; justify-self: end; color: var(--muted); font-size: 12px; }
.faq-table-wrap { border: 0; border-radius: 0; }
.faq-table { table-layout: fixed; }
.faq-table th:first-child { width: 34%; }
.faq-table th:last-child { width: 150px; }
.faq-table td { vertical-align: top; }
.faq-question { display: block; margin-bottom: 8px; line-height: 1.5; }
.faq-answer { display: -webkit-box; margin: 0; overflow: hidden; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.faq-status { display: inline-flex; padding: 3px 7px; border-radius: 999px; background: #eef2f0; color: var(--muted); font-size: 10px; font-weight: 800; }
.faq-example-count { display: block; margin-top: 7px; color: var(--muted); font-size: 10px; }
.optional-mark { display: inline-flex; margin-left: 6px; color: var(--muted); font-size: 9px; font-weight: 700; }
.faq-drawer .knowledge-drawer-form { grid-template-columns: 1fr; }
.faq-drawer textarea[name="answer"] { min-height: 120px; }
.faq-drawer textarea[name="aliases"],
.faq-drawer textarea[name="negativeExamples"] { min-height: 120px; }
.faq-field-error { min-height: 0; margin: 0; font-weight: 700; line-height: 1.5; }
.faq-field-error[hidden] { display: none; }
#faq-editor-form [aria-invalid="true"] { border-color: var(--red); box-shadow: 0 0 0 3px rgba(163, 58, 47, .12); }

.inline-faq-editor { display: grid; gap: 14px; padding-top: 16px; border-top: 1px solid var(--line); }
.inline-faq-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.inline-faq-head h2 { margin: 2px 0 0; font-size: 18px; }
.live-status { flex: 0 0 auto; padding: 4px 8px; border-radius: 999px; background: var(--green-soft); color: var(--green-dark); font-size: 10px; font-weight: 800; }
.faq-mode-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 4px; border-radius: 10px; background: #f0f4f2; }
.faq-mode-switch button { border-color: transparent; background: transparent; }
.faq-mode-switch button.active { border-color: #afcabb; background: #fff; color: var(--green-dark); box-shadow: 0 1px 4px rgba(25, 58, 40, .08); }
.inline-faq-form { display: grid; gap: 12px; }
.inline-faq-form textarea { min-height: 150px; }
.inline-faq-form > .primary { width: 100%; }
.faq-save-success { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 11px; border: 1px solid #b6d2c3; border-radius: 10px; background: var(--green-soft); color: var(--green-dark); font-size: 11px; }

@media (max-width: 900px) {
  .faq-toolbar { grid-template-columns: 1fr auto; }
  .faq-toolbar > span { justify-self: start; }
}
