:root {
  --bg: #07100e;
  --panel: #0c1815;
  --panel-raised: #10201b;
  --panel-soft: #0a1412;
  --line: #244239;
  --line-soft: #173129;
  --ink: #edf7f1;
  --muted: #91aaa1;
  --muted-2: #617a71;
  --green: #65e6a7;
  --green-dark: #133b2c;
  --amber: #f3bd59;
  --amber-dark: #382c15;
  --red: #ff746d;
  --red-dark: #3b1d1b;
  --blue: #75bfff;
  --shadow: 0 24px 80px rgba(0, 0, 0, .32);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background: var(--bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: .28;
  background-image: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M48 0H0V48' fill='none' stroke='%23244239' stroke-width='.5'/%3E%3C/svg%3E");
}
button, textarea, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 72px;
  padding: 0 clamp(18px, 4vw, 64px);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid var(--line);
  background: rgba(7, 16, 14, .94);
  backdrop-filter: blur(15px);
}
.brand { display: flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; letter-spacing: .12em; }
.brand-mark { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--green); color: var(--green); font-weight: 850; }
.brand small { display: block; margin-top: 2px; color: var(--muted); font-size: .58rem; }
.topbar nav { display: flex; align-items: center; gap: 26px; }
.topbar nav a { color: var(--muted); font-size: .78rem; font-weight: 650; text-decoration: none; }
.topbar nav a:hover { color: var(--ink); }
.topbar nav a.active { color: var(--green); }
.top-actions { display: flex; justify-content: flex-end; align-items: center; gap: 18px; }
.app-dashboard {
  --sidebar-width: 278px;
  --content-gap: clamp(32px, 3vw, 56px);
  --page-edge: clamp(24px, 3vw, 56px);
}
.app-dashboard .topbar { grid-template-columns: 1fr auto; }
.app-sidebar {
  position: fixed;
  inset: 72px auto 0 0;
  z-index: 15;
  width: var(--sidebar-width);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 22px 14px 18px;
  border-right: 1px solid var(--line);
  background: #081310;
}
.app-sidebar nav { display: grid; gap: 5px; overflow-y: auto; overscroll-behavior: contain; }
.nav-group { min-width: 0; }
.nav-row { display: grid; grid-template-columns: minmax(0, 1fr) 28px; align-items: center; }
.nav-row > a { min-width: 0; }
.nav-row > button { width: 28px; height: 34px; border: 0; color: var(--muted-2); background: transparent; font-size: .68rem; }
.nav-row > button:hover { color: var(--green); }
.nav-subitems { display: grid; gap: 2px; margin: 2px 0 7px 32px; }
.nav-subitems[hidden] { display: none; }
.nav-subitem { width: 100%; min-width: 0; display: grid; grid-template-columns: 8px minmax(0, 1fr); align-items: center; gap: 8px; padding: 7px 8px; border: 0; border-left: 1px solid var(--line-soft); color: var(--muted); background: transparent; text-align: left; }
.nav-subitem:hover, .nav-subitem.active { border-left-color: var(--green); color: var(--ink); background: var(--panel-soft); }
.nav-subitem .severity, .nav-subitem .operation-indicator { width: 6px; height: 6px; margin: 0; }
.nav-subitem strong { min-width: 0; overflow: hidden; font-size: .64rem; font-weight: 620; text-overflow: ellipsis; white-space: nowrap; }
.nav-subempty { display: block; padding: 6px 8px; color: var(--muted-2); font: .58rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.app-sidebar a { min-height: 42px; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 8px 10px; border: 1px solid transparent; color: var(--muted); text-decoration: none; }
.app-sidebar a > span { color: var(--muted-2); font: 800 .9rem ui-monospace, SFMono-Regular, Menlo, monospace; text-align: center; }
.app-sidebar a > strong { font-size: .74rem; }
.app-sidebar a > em { min-width: 20px; padding: 2px 5px; border-radius: 999px; color: var(--ink); background: var(--line); font: 700 .56rem ui-monospace, SFMono-Regular, Menlo, monospace; text-align: center; }
.app-sidebar a:hover { border-color: var(--line); color: var(--ink); background: var(--panel-soft); }
.app-sidebar a.active { border-color: #2d5b4b; color: var(--ink); background: var(--green-dark); }
.app-sidebar a.active > span { color: var(--green); }
.sidebar-settings { border-top-color: var(--line-soft) !important; }
.app-dashboard main {
  width: auto;
  max-width: none;
  margin: 0 var(--page-edge) 0 calc(var(--sidebar-width) + var(--content-gap));
  padding-top: 36px;
}
.app-dashboard .app-view { display: none; }
.app-dashboard .app-view.active { display: block; }
.app-dashboard .chat-panel.app-view.active { display: flex; }
.app-dashboard .hero { max-width: none; min-height: 190px; }
.app-dashboard h1 { font-size: clamp(2.2rem, 4vw, 4.15rem); }
.app-dashboard .metrics { margin-top: 24px; }
.overview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.overview-card { min-width: 0; overflow: hidden; }
.overview-card-heading { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px 20px; border-bottom: 1px solid var(--line); }
.overview-card-heading .eyebrow { margin-bottom: 7px; }
.overview-list { min-height: 210px; }
.overview-list-item { width: 100%; display: grid; grid-template-columns: 9px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 15px 20px; border: 0; border-bottom: 1px solid var(--line-soft); color: inherit; background: transparent; text-align: left; }
.overview-list-item:last-child { border-bottom: 0; }
button.overview-list-item:hover { background: var(--panel-raised); }
.overview-list-item .severity { margin-top: 4px; }
.overview-list-item h3 { margin: 0; font-size: .8rem; line-height: 1.35; }
.overview-list-item p { margin: 4px 0 0; color: var(--muted); font-size: .67rem; line-height: 1.45; }
.overview-list-item time, .overview-list-item > span:last-child { color: var(--muted-2); font: .58rem ui-monospace, SFMono-Regular, Menlo, monospace; white-space: nowrap; }
.app-dashboard .operations-panel, .app-dashboard .issues-panel, .app-dashboard .ticket-panel, .app-dashboard .tasks-panel, .app-dashboard .task-workspace, .app-dashboard .chat-panel, .app-dashboard .posture-section, .app-dashboard .network-section, .app-dashboard .inventory-section { margin-top: 0; }
.app-dashboard .issues-panel, .app-dashboard .chat-panel { width: 100%; }
.app-dashboard .chat-panel { min-height: calc(100vh - 150px); max-height: none; position: static; }
.freshness { display: flex; gap: 9px; align-items: center; color: var(--muted); font: 650 .68rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 15px var(--green); }
.pulse.stale { background: var(--amber); box-shadow: 0 0 15px var(--amber); }
.pulse.failed { background: var(--red); box-shadow: 0 0 15px var(--red); }
.button { border: 1px solid var(--line); padding: 9px 13px; color: var(--ink); background: transparent; font-weight: 730; font-size: .76rem; }
.button:hover { border-color: var(--green); }
.button-primary { border-color: var(--green); color: #061710; background: var(--green); }
.button-primary:hover { background: #91f2c3; }
.button-quiet { color: var(--muted); }
.button-danger { border-color: #7b3531; color: #ffaaa5; }
.button-danger:hover { border-color: var(--red); }
.button:disabled { cursor: not-allowed; opacity: .45; }
main { width: min(1480px, calc(100% - 40px)); margin: 0 auto; padding: 56px 0 90px; }
.section-anchor { scroll-margin-top: 94px; }
.hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 48px; align-items: center; max-width: 1190px; min-height: 240px; }
.eyebrow { margin: 0 0 10px; color: var(--green); font: 750 .68rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .18em; }
h1 { max-width: 940px; margin: 0; font-size: clamp(2.3rem, 4.5vw, 4.9rem); line-height: .98; letter-spacing: -.055em; }
.hero-copy > p:not(.eyebrow) { max-width: 900px; margin: 22px 0 0; color: #b2c6be; font-size: 1.02rem; line-height: 1.7; white-space: pre-line; }
.brief-meta { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 24px; color: var(--muted-2); font: 650 .64rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.health-orb { display: grid; place-items: center; width: 126px; height: 126px; border: 1px solid var(--green); border-radius: 50%; background: var(--panel); box-shadow: inset 0 0 0 12px var(--bg), 0 0 45px rgba(101, 230, 167, .12); }
.health-orb span { color: var(--green); font: 800 .78rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .13em; }
.health-orb.warning { border-color: var(--amber); box-shadow: inset 0 0 0 12px var(--bg), 0 0 45px rgba(243, 189, 89, .12); }
.health-orb.warning span { color: var(--amber); }
.health-orb.critical { border-color: var(--red); box-shadow: inset 0 0 0 12px var(--bg), 0 0 45px rgba(255, 116, 109, .14); }
.health-orb.critical span { color: var(--red); }
.metrics { margin: 42px 0 24px; display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); background: var(--panel); box-shadow: var(--shadow); }
.metrics article { min-height: 116px; padding: 22px 24px; border-right: 1px solid var(--line); }
.metrics article:last-child { border-right: 0; }
.metrics span { display: block; color: var(--muted); font: 650 .65rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; }
.metrics strong { display: block; margin-top: 8px; font-size: 1.85rem; letter-spacing: -.045em; }
.metrics small { display: block; margin-top: 5px; color: var(--muted-2); font-size: .72rem; }
.metrics .metric-detail { margin-top: 9px; color: var(--green); font: 650 .58rem/1.45 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .05em; }
.operations-panel { margin-bottom: 24px; }
.operations-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, .8fr); }
.operations-layout > div + div { border-left: 1px solid var(--line); }
.operations-list { max-height: 390px; overflow-y: auto; }
.queue-legend.operation-legend { display: grid; grid-template-columns: minmax(0, 1fr) auto 105px; gap: 16px; }
.operation-legend span:nth-child(2), .operation-legend span:nth-child(3) { text-align: right; }
.operation-entry { display: grid; grid-template-columns: minmax(0, 1fr) 105px; border-bottom: 1px solid var(--line-soft); }
.operation-row, .change-row { width: 100%; display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; gap: 13px; padding: 14px 20px; border: 0; color: inherit; background: transparent; text-align: left; }
.operation-row:hover { background: var(--panel-raised); }
.operation-entry:last-child, .change-row:last-child { border-bottom: 0; }
.operation-guest-link { display: grid; align-content: center; justify-items: end; min-width: 0; padding: 10px 16px 10px 8px; border: 0; border-left: 1px solid var(--line-soft); color: var(--green); background: transparent; text-align: right; }
.operation-guest-link:hover { background: var(--green-dark); }
.operation-guest-link span { color: var(--muted-2); font: 600 .52rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; }
.operation-guest-link strong { max-width: 90px; margin-top: 3px; overflow: hidden; text-overflow: ellipsis; font: 700 .67rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.operation-guest-link.is-cluster { color: var(--muted-2); pointer-events: none; }
.operation-indicator { width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: var(--muted-2); }
.operation-indicator.running, .operation-indicator.queued { background: var(--amber); box-shadow: 0 0 11px rgba(243, 189, 89, .55); animation: operation-pulse 1.4s ease-in-out infinite; }
.operation-indicator.succeeded { background: var(--green); }
.operation-indicator.failed, .operation-indicator.blocked { background: var(--red); }
.operation-row h3, .change-row h3 { margin: 0; font-size: .8rem; line-height: 1.35; }
.operation-row p, .change-row p { margin: 4px 0 0; color: var(--muted); font-size: .68rem; line-height: 1.45; }
.operation-stats { text-align: right; color: var(--muted-2); font: .6rem/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: nowrap; }
.change-ledger { min-width: 0; }
.change-row { grid-template-columns: minmax(0, 1fr) auto; }
.change-row p { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.operation-console { grid-column: 1 / -1; padding: 15px 20px; border-top: 1px solid var(--line-soft); background: #06100d; }
.operation-console-header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; color: var(--green); font: 650 .62rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.operation-console-log { max-height: 230px; overflow-y: auto; color: #b9d4ca; font: .65rem/1.65 ui-monospace, SFMono-Regular, Menlo, monospace; }
.operation-console-line { display: grid; grid-template-columns: 72px 52px 1fr; gap: 8px; }
.operation-console-line time { color: var(--muted-2); }
.operation-stats time { color: var(--text); font-weight: 600; }

.chat-confirmation { display: flex; gap: .55rem; align-items: center; margin-top: .75rem; flex-wrap: wrap; }
.chat-confirmation.confirmed span { color: var(--accent); font-size: .72rem; font-weight: 700; letter-spacing: .08em; }
.operation-console-line strong { color: var(--amber); font-size: .58rem; text-transform: uppercase; }
.operation-console-line.error strong { color: var(--red); }
@keyframes operation-pulse { 50% { opacity: .35; } }
.workspace { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(370px, .85fr); gap: 24px; align-items: start; }
.panel { border: 1px solid var(--line); background: var(--panel); box-shadow: var(--shadow); }
.panel-heading { min-height: 88px; padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); }
h2 { margin: 0; font-size: 1.15rem; letter-spacing: -.015em; }
.toolbar { display: flex; gap: 8px; }
.issue-filters { display: flex; gap: 6px; }
.issue-filters .button.active { color: var(--ink); border-color: var(--green); background: var(--green-dark); }
.search input, .scope-filter select { height: 36px; border: 1px solid var(--line); padding: 9px 11px; color: var(--ink); background: var(--panel-soft); outline: none; }
.search input { width: 170px; }
.scope-filter select { min-width: 128px; }
.search input:focus, .scope-filter select:focus { border-color: var(--green); }
.queue-legend { display: flex; justify-content: space-between; padding: 10px 22px; border-bottom: 1px solid var(--line-soft); color: var(--muted-2); font: 650 .59rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; }
.issue { width: 100%; position: relative; display: grid; grid-template-columns: 11px minmax(0, 1fr) auto; gap: 16px; padding: 18px 22px; border: 0; border-bottom: 1px solid var(--line-soft); color: inherit; text-align: left; background: transparent; }
.issue:hover { background: var(--panel-raised); }
.issue:last-child { border-bottom: 0; }
.severity { width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px currentColor; }
.severity.warning { background: var(--amber); color: var(--amber); }
.severity.critical, .severity.error { background: var(--red); color: var(--red); }
.issue h3 { margin: 0; font-size: .92rem; line-height: 1.35; }
.issue p { max-width: 700px; margin: 7px 0 0; color: var(--muted); font-size: .79rem; line-height: 1.45; }
.issue-category, .issue-scope { display: inline-block; margin-right: 8px; padding: 2px 5px; border: 1px solid var(--line); color: var(--green); font: 650 .55rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .06em; text-transform: uppercase; }
.issue-scope { color: var(--blue); }
.issue-meta { text-align: right; color: var(--muted); font: .63rem ui-monospace, SFMono-Regular, Menlo, monospace; white-space: nowrap; line-height: 1.55; }
.queue-footer { min-height: 58px; padding: 10px 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); color: var(--muted); font: .65rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.queue-footer > div { display: flex; gap: 7px; }
.status-label { color: var(--green); }
.status-label.dismissed, .status-label.resolved { color: var(--muted-2); }
.chat-panel { min-height: 620px; max-height: 780px; display: flex; flex-direction: column; position: sticky; top: 96px; }
.model { color: var(--muted); font: 650 .62rem ui-monospace, SFMono-Regular, Menlo, monospace; white-space: nowrap; }
.model.running { color: var(--amber); }
.chat-heading-actions { display: grid; justify-items: end; gap: 9px; }
.chat-heading-actions > div { display: flex; gap: 6px; }
.chat-heading-actions .button { padding: 6px 8px; font-size: .66rem; }
.chat-history { border-bottom: 1px solid var(--line); background: var(--panel-soft); }
.chat-history summary { cursor: pointer; padding: 10px 16px; color: var(--muted); font: 650 .62rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.chat-history summary span { margin-left: 5px; color: var(--green); }
.chat-history > div { max-height: 190px; overflow-y: auto; border-top: 1px solid var(--line-soft); }
.chat-history-item { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 10px 16px; border: 0; border-bottom: 1px solid var(--line-soft); color: var(--ink); background: transparent; text-align: left; }
.chat-history-item:hover, .chat-history-item.active { background: var(--panel-raised); }
.chat-history-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .72rem; }
.chat-history-item time { color: var(--muted-2); font-size: .59rem; }
.chat-messages { flex: 1; min-height: 360px; padding: 20px; overflow-y: auto; }
.chat-activity { max-height: 230px; padding: 12px 16px; border-top: 1px solid var(--line); background: #06100d; }
.chat-activity-heading, .chat-activity-metrics { display: flex; justify-content: space-between; gap: 10px; color: var(--muted-2); font: 650 .58rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.chat-activity-log { max-height: 145px; margin: 9px 0; overflow-y: auto; color: #b7d0c7; font: .63rem/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; }
.chat-activity-line { display: grid; grid-template-columns: 58px 1fr; gap: 9px; }
.chat-activity-line time { color: var(--muted-2); }
.chat-message { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; margin-bottom: 18px; }
.avatar { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--green); color: var(--green); font: 800 .68rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.chat-message.user .avatar { border-color: var(--line); color: var(--muted); }
.chat-message p { margin: 5px 0 0; color: #a9bdb6; font-size: .8rem; line-height: 1.6; white-space: pre-wrap; }
.chat-message small { display: block; margin-bottom: 4px; color: var(--muted-2); font: .6rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.composer { padding: 16px; border-top: 1px solid var(--line); }
textarea { width: 100%; resize: vertical; border: 1px solid var(--line); border-radius: 0; padding: 12px; color: var(--ink); background: var(--panel-soft); outline: none; line-height: 1.45; }
textarea:focus { border-color: var(--green); }
.composer-row { margin-top: 9px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.composer-row small { color: var(--muted-2); font-size: .65rem; }
.posture-section, .network-section, .inventory-section, .context-section { margin-top: 64px; }
.section-heading { margin-bottom: 18px; display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.section-heading > p { margin: 0; color: var(--muted); font-size: .75rem; }
.posture-shell { overflow: hidden; }
.posture-status { min-height: 74px; display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; gap: 15px; padding: 17px 22px; border-bottom: 1px solid var(--line); }
.posture-status .severity { margin: 0; }
.posture-status strong { font-size: .93rem; }
.posture-status p { margin: 4px 0 0; color: var(--muted); font-size: .76rem; }
.posture-status time { color: var(--muted-2); font: 650 .6rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.posture-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.posture-metrics article { min-width: 0; padding: 18px 22px; border-right: 1px solid var(--line-soft); }
.posture-metrics article:last-child { border-right: 0; }
.posture-metrics span { color: var(--muted-2); font: 650 .59rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; }
.posture-metrics strong { display: block; margin-top: 8px; font-size: 1.35rem; }
.posture-metrics small { display: block; margin-top: 5px; color: var(--muted); font-size: .68rem; }
.posture-table { display: grid; }
.posture-row { display: grid; grid-template-columns: 10px minmax(190px, .9fr) minmax(250px, 1fr) minmax(165px, .55fr); gap: 14px; align-items: center; padding: 15px 22px; border-bottom: 1px solid var(--line-soft); }
.posture-row h3, .posture-gap-list h3 { margin: 0; font-size: .8rem; }
.posture-row p, .posture-gap-list p { margin: 4px 0 0; color: var(--muted); font-size: .67rem; line-height: 1.45; }
.posture-version, .posture-result { display: grid; gap: 5px; }
.posture-version strong { font-size: .75rem; }
.posture-version small, .posture-result small { color: var(--muted-2); font-size: .61rem; line-height: 1.45; }
.posture-result { justify-items: end; text-align: right; }
.posture-result a { color: var(--green); }
.posture-gaps { padding: 16px 22px; }
.posture-gaps summary { cursor: pointer; color: var(--muted); font: 650 .65rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.posture-gap-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.posture-gap-list article { padding: 13px 14px; border: 1px solid var(--line-soft); background: var(--panel-soft); }
.posture-gap-list article > span { color: var(--blue); font: 650 .55rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.posture-gap-list small { display: block; margin-top: 8px; color: var(--ink); font-size: .65rem; line-height: 1.45; }
.network-shell { overflow: hidden; }
.network-status { min-height: 74px; display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; gap: 15px; padding: 17px 22px; border-bottom: 1px solid var(--line); }
.network-status .severity { margin: 0; }
.network-status strong { font-size: .93rem; }
.network-status p { margin: 4px 0 0; color: var(--muted); font-size: .76rem; }
.network-status time { color: var(--muted-2); font: 650 .6rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.edge-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.edge-metrics article { min-width: 0; padding: 18px 22px; border-right: 1px solid var(--line-soft); }
.edge-metrics article:last-child { border-right: 0; }
.edge-metrics span, .network-subheading { color: var(--muted-2); font: 650 .59rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; }
.edge-metrics strong { display: block; margin-top: 8px; overflow: hidden; text-overflow: ellipsis; font-size: 1.05rem; white-space: nowrap; }
.edge-metrics small { display: block; margin-top: 5px; overflow: hidden; color: var(--muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.network-observability { padding: 22px; }
.network-subheading { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 15px; }
.edge-topology { display: grid; grid-template-columns: minmax(230px, .85fr) 88px minmax(300px, 1.15fr); align-items: stretch; gap: 14px; }
.network-card { min-width: 0; padding: 17px; border: 1px solid var(--line); color: inherit; background: linear-gradient(145deg, var(--panel-raised), var(--panel-soft)); text-align: left; }
.network-card:hover { border-color: var(--green); transform: translateY(-1px); }
.network-card.internet { border-color: #315d78; }
.network-card.homelab { border-color: #326d55; }
.network-card-heading { display: flex; align-items: center; justify-content: space-between; }
.network-card-heading small { color: var(--blue); font: 750 .55rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; }
.network-card-heading .severity { margin: 0; }
.network-card > strong { display: block; margin-top: 10px; font-size: 1.05rem; }
.network-card > em { display: block; margin-top: 5px; overflow: hidden; color: var(--muted); font-size: .69rem; font-style: normal; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.network-card-total, .network-card-hosts { display: block; margin-top: 8px; color: var(--muted-2); font: 600 .59rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.network-card-hosts { color: var(--ink); }
.network-card-history { height: 25px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.network-card-history > span { min-width: 0; display: flex; align-items: end; gap: 1px; }
.network-card-history i { min-width: 1px; flex: 1; background: var(--green); opacity: .72; }
.network-card-history i.upload { background: var(--blue); }
.edge-hub { position: relative; display: grid; align-content: center; justify-items: center; color: var(--green); }
.edge-hub::before, .edge-hub::after { content: ""; position: absolute; top: 50%; width: 50%; border-top: 1px solid var(--line); }
.edge-hub::before { right: 50%; }
.edge-hub::after { left: 50%; }
.edge-hub i { z-index: 1; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--green); color: var(--green); background: var(--panel); font-style: normal; font-weight: 850; }
.edge-hub small { z-index: 1; margin-top: 7px; color: var(--muted-2); background: var(--panel); font: 650 .5rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.edge-branches { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.edge-branches::before { content: ""; position: absolute; top: 50%; right: 100%; width: 14px; border-top: 1px solid var(--line); }
.network-boundary { max-width: 900px; margin: 15px 0 0; color: var(--muted-2); font-size: .66rem; line-height: 1.55; }
.network-table { display: grid; margin-top: 13px; border: 1px solid var(--line-soft); }
.network-table > div { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 4px 10px; padding: 10px 12px; border-bottom: 1px solid var(--line-soft); }
.network-table > div:last-child { border-bottom: 0; }
.network-table span { color: var(--green); font: 650 .56rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.network-table strong { overflow-wrap: anywhere; font-size: .74rem; }
.network-table small { grid-column: 2; color: var(--muted); font-size: .64rem; line-height: 1.45; overflow-wrap: anywhere; }
#network-dialog { width: min(860px, 100%); }
.network-report-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-bottom: 28px; }
.network-report-tabs button { padding: 10px 12px; border: 1px solid var(--line-soft); color: var(--muted); background: var(--panel-soft); text-align: left; }
.network-report-tabs button.active, .network-report-tabs button:hover { border-color: var(--green); color: var(--ink); }
.network-report-tabs span, .network-report-tabs small { display: block; }
.network-report-tabs span { font-size: .75rem; font-weight: 750; }
.network-report-tabs small { margin-top: 4px; color: var(--muted-2); font-size: .58rem; }
.state-tag.up, .state-tag.observed { border-color: #2f7757; color: var(--green); }
.state-tag.unobserved { border-color: #785f2c; color: var(--amber); }
.state-tag.down { border-color: #7b3531; color: var(--red); }
.network-report-summary { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(230px, .8fr); gap: 28px; }
.network-report-summary .inventory-facts { margin-top: 0; }
.network-history { display: grid; gap: 20px; }
.network-history > div > span, .network-host-heading > span { color: var(--muted-2); font: 650 .56rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.network-history .load-chart { height: 48px; margin-top: 8px; }
.load-chart i.upload { background: var(--blue); }
.network-host-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.network-host-heading p { max-width: 590px; }
.network-host-table { display: grid; margin-top: 14px; border: 1px solid var(--line-soft); }
.network-host { display: grid; grid-template-columns: 76px minmax(150px, .8fr) minmax(180px, 1.2fr); gap: 5px 12px; padding: 13px 14px; border-bottom: 1px solid var(--line-soft); }
.network-host:is(button) { width: 100%; border: 0; border-bottom: 1px solid var(--line-soft); border-radius: 0; color: inherit; font: inherit; text-align: left; background: transparent; cursor: pointer; }
.network-host.linked:hover, .network-host.linked:focus-visible { background: rgba(117, 207, 161, .08); outline: 1px solid rgba(117, 207, 161, .36); outline-offset: -1px; }
.network-host:last-child { border-bottom: 0; }
.network-host.unknown { border-left: 2px solid var(--amber); background: rgba(56, 44, 21, .18); }
.network-host-state { color: var(--green); font: 700 .54rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.network-host.unknown .network-host-state { color: var(--amber); }
.network-host strong { overflow-wrap: anywhere; font-size: .76rem; }
.network-host small { color: var(--muted-2); font-size: .62rem; overflow-wrap: anywhere; }
.network-host-address { color: var(--ink) !important; }
.network-host em { grid-column: 2 / -1; color: var(--muted); font-size: .64rem; font-style: normal; }
.network-host em + small { grid-column: 2 / -1; }
.network-host .traffic-context { grid-column: 2 / -1; }
.device-classifier { grid-column: 2 / -1; display: grid; grid-template-columns: minmax(210px, 1fr) minmax(210px, .8fr) auto; align-items: end; gap: 8px 10px; margin-top: 7px; padding-top: 11px; border-top: 1px solid var(--line-soft); }
.device-classifier label { display: grid; gap: 5px; color: var(--muted); font: 650 .58rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.device-classifier select { min-width: 0; width: 100%; height: 35px; border: 1px solid var(--line); padding: 0 9px; color: var(--ink); background: #07100d; font: .68rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.device-name-input { display: flex; align-items: center; min-width: 0; border: 1px solid var(--line); background: #07100d; }
.device-name-input:focus-within { border-color: var(--green); }
.device-name-input input { min-width: 0; width: 100%; border: 0; padding: 9px 10px; color: var(--ink); background: transparent; outline: 0; font: .75rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.device-name-input small { padding-right: 10px; color: var(--muted-2); font: .62rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: lowercase; white-space: nowrap; }
.device-classifier-help { grid-column: 1 / -1; color: var(--muted-2); font-size: .61rem; line-height: 1.45; }
.traffic-context.abovenormal { color: var(--amber) !important; }
.traffic-context.normal { color: var(--green) !important; }
.inventory-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; }
.host-group { grid-column: 1 / -1; display: grid; gap: 12px; margin-bottom: 16px; }
.host-card { width: 100%; padding: 20px; border: 1px solid var(--line); color: inherit; background: linear-gradient(110deg, var(--panel-raised), var(--panel)); text-align: left; }
.host-card:hover { border-color: var(--blue); }
.host-summary { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(260px, 1.4fr) minmax(180px, .8fr); gap: 20px; align-items: center; }
.host-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.host-metrics div { padding: 9px; border: 1px solid var(--line-soft); background: rgba(3, 12, 9, .35); }
.host-metrics span, .storage-pool span { display: block; color: var(--muted-2); font-size: .59rem; text-transform: uppercase; }
.host-metrics strong { display: block; margin-top: 5px; font-size: .78rem; }
.storage-pools { display: grid; gap: 7px; }
.storage-pool { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 12px; }
.storage-pool .meter { grid-column: 1 / -1; margin-top: 0; }
.storage-pool strong { font-size: .68rem; }
.guest-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-left: 22px; border-left: 1px solid var(--line); }
.guest-grid .inventory-card { grid-column: auto; }
.inventory-card { grid-column: span 4; min-height: 220px; padding: 20px; border: 1px solid var(--line); color: inherit; background: var(--panel); text-align: left; }
.inventory-card.wide { grid-column: span 6; }
.inventory-card[data-guest-ref] { width: 100%; cursor: pointer; }
.inventory-card[data-guest-ref]:hover { border-color: var(--green); background: var(--panel-raised); transform: translateY(-1px); }
.inventory-card[data-guest-ref]:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.guest-action { margin-top: 12px; padding: 12px; border: 1px solid var(--line-soft); background: var(--panel-soft); }
.guest-action-main { width: 100%; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; }
.guest-action-main:hover h4 { color: var(--green); }
.guest-action h4 { margin: 0; font-size: .78rem; }
.guest-action p { margin: 6px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.guest-action-controls { display: flex; justify-content: flex-end; gap: 7px; margin-top: 10px; }
.guest-action-controls .button { padding: 6px 9px; font-size: .64rem; }
.inventory-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.inventory-title h3 { margin: 0; font-size: .95rem; }
.inventory-title p { margin: 4px 0 0; color: var(--muted); font-size: .7rem; }
.state-tag { border: 1px solid var(--line); padding: 4px 7px; color: var(--muted); font: 650 .59rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.state-tag.online, .state-tag.current { border-color: #2f7757; color: var(--green); }
.state-tag.succeeded { border-color: #2f7757; color: var(--green); }
.state-tag.awaitingapproval, .state-tag.awaitingrevision, .state-tag.approved, .state-tag.running, .state-tag.queued { border-color: #785f2c; color: var(--amber); }
.state-tag.offline, .state-tag.failed { border-color: #7b3531; color: var(--red); }
.state-tag.blocked, .state-tag.expired { border-color: #7b3531; color: var(--red); }
.state-tag.capabilityrequired { border-color: #785f2c; color: var(--amber); }
.state-tag.accepted { border-color: #2f7757; color: var(--green); }
.state-tag.proposed { border-color: #315d78; color: var(--blue); }
.state-tag.ready { border-color: #2f7757; color: var(--green); }
.state-tag.invalid { border-color: #7b3531; color: var(--red); }
.state-tag.updatesavailable { border-color: #785f2c; color: var(--amber); }
.state-tag.notinstalled, .state-tag.stale { border-color: #785f2c; color: var(--amber); }
.state-tag.unreachable { border-color: #7b3531; color: var(--red); }
.state-tag.healthy { border-color: #2f7757; color: var(--green); }
.state-tag.degraded, .state-tag.awaitingdata, .state-tag.disabled { border-color: #785f2c; color: var(--amber); }
.state-tag.unavailable { border-color: #7b3531; color: var(--red); }
.inventory-facts { margin: 22px 0 0; display: grid; gap: 13px; }
.fact { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line-soft); }
.fact:last-child { border: 0; padding-bottom: 0; }
.fact span { color: var(--muted); font-size: .72rem; }
.fact strong { max-width: 220px; text-align: right; font-size: .73rem; font-weight: 650; }
.fact strong.metric-alert { color: var(--amber); }
.fact strong.metric-critical { color: var(--red); }
.meter { height: 5px; margin-top: 7px; background: #172a24; }
.meter > span { display: block; height: 100%; background: var(--green); }
.meter > span.warning { background: var(--amber); }
.meter > span.critical { background: var(--red); }
.load-row { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: end; padding-bottom: 10px; border-bottom: 1px solid var(--line-soft); }
.load-row > span { color: var(--muted); font-size: .72rem; }
.load-row > strong { font-size: .8rem; }
.load-visual { display: grid; gap: 6px; }
.load-chart { height: 24px; display: flex; align-items: end; gap: 2px; }
.load-chart i { flex: 1; min-width: 2px; background: var(--green); opacity: .82; }
.load-chart i.warning { background: var(--amber); }
.load-chart i.critical { background: var(--red); }
.load-chart .v0 { height: 2px; } .load-chart .v5 { height: 5%; } .load-chart .v10 { height: 10%; }
.load-chart .v15 { height: 15%; } .load-chart .v20 { height: 20%; } .load-chart .v25 { height: 25%; }
.load-chart .v30 { height: 30%; } .load-chart .v35 { height: 35%; } .load-chart .v40 { height: 40%; }
.load-chart .v45 { height: 45%; } .load-chart .v50 { height: 50%; } .load-chart .v55 { height: 55%; }
.load-chart .v60 { height: 60%; } .load-chart .v65 { height: 65%; } .load-chart .v70 { height: 70%; }
.load-chart .v75 { height: 75%; } .load-chart .v80 { height: 80%; } .load-chart .v85 { height: 85%; }
.load-chart .v90 { height: 90%; } .load-chart .v95 { height: 95%; } .load-chart .v100 { height: 100%; }
.install-guide { margin-top: 22px; padding: 16px; border: 1px solid #785f2c; background: var(--amber-dark); }
.install-guide pre { margin-top: 12px; padding: 12px; overflow-x: auto; color: #ffe4aa; background: #171006; font: .67rem/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; }
.meter .w0 { width: 0; }
.meter .w5 { width: 5%; }
.meter .w10 { width: 10%; }
.meter .w15 { width: 15%; }
.meter .w20 { width: 20%; }
.meter .w25 { width: 25%; }
.meter .w30 { width: 30%; }
.meter .w35 { width: 35%; }
.meter .w40 { width: 40%; }
.meter .w45 { width: 45%; }
.meter .w50 { width: 50%; }
.meter .w55 { width: 55%; }
.meter .w60 { width: 60%; }
.meter .w65 { width: 65%; }
.meter .w70 { width: 70%; }
.meter .w75 { width: 75%; }
.meter .w80 { width: 80%; }
.meter .w85 { width: 85%; }
.meter .w90 { width: 90%; }
.meter .w95 { width: 95%; }
.meter .w100 { width: 100%; }
.instruction-list { display: flex; flex-wrap: wrap; gap: 9px; }
.instruction { padding: 10px 12px; border: 1px solid var(--line); background: var(--panel); color: #b7cbc3; font-size: .75rem; }
.instruction strong { margin-right: 7px; color: var(--green); font: 650 .61rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.empty { padding: 42px 24px; color: var(--muted); text-align: center; }
.empty-inline { color: var(--muted); font-size: .76rem; }
.drawer { width: min(680px, 100%); max-width: none; height: 100%; max-height: none; margin: 0 0 0 auto; padding: 0; border: 0; border-left: 1px solid var(--line); color: var(--ink); background: var(--panel); box-shadow: -30px 0 90px rgba(0, 0, 0, .45); }
.drawer::backdrop, .access-dialog::backdrop { background: rgba(1, 7, 5, .75); backdrop-filter: blur(3px); }
.drawer-shell { min-height: 100%; display: flex; flex-direction: column; }
.drawer-top { min-height: 72px; padding: 0 24px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); }
.drawer-top .eyebrow { margin: 0; }
.icon-button { border: 0; padding: 4px 8px; color: var(--muted); background: transparent; font-size: 1.7rem; line-height: 1; }
.drawer-content { padding: 28px 28px 70px; }
.drawer-back { margin: -8px 0 22px; padding: 7px 0; border: 0; color: var(--green); background: transparent; font: 700 .68rem ui-monospace, SFMono-Regular, Menlo, monospace; text-align: left; }
.drawer-back:hover { color: var(--ink); }
.detail-severity { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font: 650 .65rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.drawer-content h2, .ticket-content h2 { margin-top: 12px; font-size: clamp(1.7rem, 3vw, 2.55rem); line-height: 1.12; }
.ticket-panel { min-height: calc(100vh - 150px); }
.ticket-toolbar { min-height: 58px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; padding: 10px 18px; border-bottom: 1px solid var(--line); }
.ticket-toolbar > span { color: var(--muted-2); font: 650 .6rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.ticket-toolbar > div { display: flex; justify-content: flex-end; gap: 7px; }
.ticket-content { width: min(900px, 100%); margin: 0 auto; padding: clamp(30px, 5vw, 72px) clamp(22px, 5vw, 68px) 90px; }
.fix-impact { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 30px; border: 1px solid var(--line); }
.fix-impact > div { min-height: 92px; display: grid; align-content: center; gap: 5px; padding: 18px 20px; border-right: 1px solid var(--line); }
.fix-impact > div:last-child { border-right: 0; }
.fix-impact strong { color: var(--green); font-size: 1.8rem; letter-spacing: -.04em; }
.fix-impact span { color: var(--muted); font: 650 .58rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.ticket-option { margin-top: 18px; border-top: 1px solid var(--line-soft); }
.ticket-option > summary { cursor: pointer; padding: 15px 0; color: var(--muted); font: 680 .66rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.ticket-option > div { padding: 2px 0 16px; color: #b9cbc5; font-size: .8rem; line-height: 1.6; }
.ticket-option pre { padding: 12px; overflow-x: auto; color: #c8ddd5; background: var(--panel-soft); font: .67rem/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; }
.ticket-work-only { min-height: 56vh; display: grid; align-content: center; justify-items: center; text-align: center; }
.ticket-work-only h2 { max-width: 760px; margin-top: 8px; }
.ticket-work-pulse { width: 18px; height: 18px; margin-bottom: 28px; border: 2px solid var(--green); border-radius: 50%; box-shadow: 0 0 0 0 rgba(101, 230, 167, .45); animation: ticket-pulse 1.4s ease-out infinite; }
.ticket-current-step { max-width: 680px; margin: 20px auto 0; color: #c4d8d0; font-size: .9rem; line-height: 1.55; }
.ticket-work-log { width: min(720px, 100%); max-height: 240px; margin-top: 28px; padding: 14px 16px; overflow-y: auto; border: 1px solid var(--line-soft); background: #06100d; text-align: left; }
.ticket-work-log > div { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 12px; padding: 4px 0; color: #b9d4ca; font: .64rem/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; }
.ticket-work-log time { color: var(--muted-2); }
.ticket-complete { min-height: 56vh; display: grid; align-content: center; justify-items: center; gap: 20px; text-align: center; }
.ticket-complete-mark { display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid var(--green); border-radius: 50%; color: var(--green); font-size: 1.7rem; }
.ticket-complete.dismissed .ticket-complete-mark { border-color: var(--muted-2); color: var(--muted); }
.ticket-complete > div:not(.ticket-complete-recap):not(.ticket-complete-history) { display: flex; gap: 8px; }
.ticket-complete-recap { width: min(720px, 100%); color: #c8ddd5; font-size: .9rem; line-height: 1.65; text-align: left; }
.ticket-complete-recap p { margin: 0; white-space: pre-wrap; }
.ticket-complete-recap.working { display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--muted); text-align: center; }
.ticket-complete-recap.failed { display: grid; gap: 6px; text-align: center; }
.ticket-complete-recap small { color: var(--muted-2); font-size: .68rem; }
.ticket-recap-pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 0 rgba(101, 230, 167, .45); animation: ticket-pulse 1.4s ease-out infinite; }
.ticket-complete-more { width: min(980px, 100%); margin-top: 8px; border-top: 1px solid var(--line); text-align: left; }
.ticket-complete-more > summary { width: max-content; margin: 18px auto 0; padding: 9px 16px; border: 1px solid var(--line); border-radius: 3px; color: #d7e6e1; cursor: pointer; font-size: .75rem; list-style: none; }
.ticket-complete-more > summary::-webkit-details-marker { display: none; }
.ticket-complete-more[open] > summary { border-color: var(--green); color: var(--green); }
.ticket-complete-history { display: grid; gap: 26px; width: 100%; margin-top: 24px; padding-bottom: 30px; }
.completed-history-section { min-width: 0; }
.completed-history-section > h3 { margin: 0 0 12px; color: var(--muted); font: 700 .64rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; text-transform: uppercase; }
.completed-history-section > p { color: #bfd1cb; font-size: .82rem; line-height: 1.6; white-space: pre-wrap; }
.resolution-record { padding: 12px 14px; border-left: 2px solid var(--green); background: var(--panel-soft); }
.resolution-record strong { color: var(--green); font-size: .66rem; text-transform: uppercase; }
.resolution-record p { margin: 6px 0 0; color: #bfd1cb; font-size: .78rem; line-height: 1.55; }
.completed-operation { border-bottom: 1px solid var(--line-soft); }
.completed-operation > summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px 0; cursor: pointer; list-style: none; }
.completed-operation > summary::-webkit-details-marker { display: none; }
.completed-operation > summary strong { min-width: 0; overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.completed-operation > summary > span:last-child { color: var(--muted-2); font-size: .62rem; }
.completed-operation-events { display: grid; gap: 8px; padding: 0 0 14px 23px; }
.completed-operation-events > div { display: grid; grid-template-columns: 150px 64px minmax(0, 1fr); gap: 8px; font-size: .68rem; }
.completed-operation-events time, .completed-operation-events > div > strong { color: var(--muted-2); font: .6rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.completed-operation-events p { margin: 0; color: #bfd1cb; line-height: 1.5; }
.completed-operation-events pre { grid-column: 3; max-height: 240px; margin: 0; padding: 8px; overflow: auto; background: #06100d; color: var(--muted); font-size: .6rem; }
.completed-comment { margin-top: 8px; padding: 10px 12px; background: var(--panel-soft); }
.completed-comment strong { color: var(--green); font-size: .66rem; }
.completed-comment time { margin-left: 8px; color: var(--muted-2); font-size: .6rem; }
.completed-comment p { margin: 6px 0 0; color: #bfd1cb; font-size: .76rem; line-height: 1.55; white-space: pre-wrap; }
.button-complete { border-color: #2d5b4b; color: var(--green); background: var(--green-dark); opacity: 1 !important; }
@keyframes ticket-pulse { 70% { box-shadow: 0 0 0 16px rgba(101, 230, 167, 0); } 100% { box-shadow: 0 0 0 0 rgba(101, 230, 167, 0); } }
.detail-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 18px 0 28px; color: var(--muted); font: .65rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.detail-block { margin-top: 26px; }
.detail-block h3 { margin: 0 0 9px; color: var(--muted); font: 700 .65rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; text-transform: uppercase; }
.detail-block p, .detail-block pre { margin: 0; color: #b9cbc5; font-size: .84rem; line-height: 1.65; white-space: pre-wrap; font-family: inherit; }
.detail-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--line); }
.issue-problem { margin: 14px 0 0; color: #c5d7d1; font-size: .92rem; line-height: 1.65; white-space: pre-wrap; }
.issue-primary-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.issue-primary-actions .button { min-height: 42px; }
.issue-likely-fix { margin-top: 18px; padding: 13px 14px; border-left: 2px solid var(--blue); background: var(--panel-soft); }
.issue-likely-fix strong { color: var(--blue); font: 750 .61rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; text-transform: uppercase; }
.issue-likely-fix p { margin: 6px 0 0; color: #bfd1cb; font-size: .8rem; line-height: 1.55; white-space: pre-wrap; }
.issue-work-status { display: flex; align-items: flex-start; gap: 10px; margin-top: 16px; color: #c4d8d0; font-size: .8rem; line-height: 1.55; }
.issue-work-status > span { width: 9px; height: 9px; flex: 0 0 9px; margin-top: 5px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(84, 214, 152, .1); }
.issue-work-status p { margin: 0; }
.operator-fix { margin-top: 22px; padding: 16px; border: 1px solid #326d55; background: #0a1713; }
.operator-fix > div { display: grid; gap: 4px; }
.operator-fix > div span { color: var(--green); font: 750 .61rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; text-transform: uppercase; }
.operator-fix > div strong { font-size: .94rem; }
.operator-fix > p { margin: 10px 0 0; color: #c3d6cf; font-size: .8rem; line-height: 1.55; white-space: pre-wrap; }
.operator-fix > small { display: block; margin: 8px 0 14px; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.operator-fix > .button, .operator-fix > .plan-running { margin-top: 14px; }
.operator-fix-steps { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; counter-reset: fix-step; }
.operator-fix-steps li { display: grid; grid-template-columns: auto 1fr; gap: 3px 9px; padding: 9px 10px; border: 1px solid var(--line-soft); background: rgba(255, 255, 255, .018); counter-increment: fix-step; }
.operator-fix-steps li::before { content: counter(fix-step); grid-row: 1 / 3; align-self: center; width: 22px; color: var(--green); font: 700 .7rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.operator-fix-steps span { color: var(--muted-2); font: 650 .55rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.operator-fix-steps strong { font-size: .75rem; }
.operator-fix-steps small { grid-column: 2; color: var(--muted); font-size: .66rem; line-height: 1.45; }
.operator-fix.failed, .operator-fix.blocked { border-color: #7b3531; }
.operator-fix.expired, .operator-fix.canceled { border-color: #806d36; }
.remediation-step-tree { display: grid; gap: 0; margin: 14px 0 0; padding: 0; list-style: none; }
.remediation-step-tree li { position: relative; display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 9px; padding: 7px 0; }
.remediation-step-tree li:not(:last-child)::after { content: ''; position: absolute; left: 6px; top: 20px; bottom: -6px; width: 1px; background: var(--line); }
.remediation-step-tree .step-state { position: relative; z-index: 1; width: 13px; height: 13px; margin-top: 2px; border: 2px solid var(--muted-2); border-radius: 50%; background: var(--panel); }
.remediation-step-tree .succeeded .step-state { border-color: var(--green); background: var(--green); box-shadow: inset 0 0 0 3px #0a1713; }
.remediation-step-tree .failed .step-state { border-color: var(--red); background: var(--red); box-shadow: inset 0 0 0 3px #0a1713; }
.remediation-step-tree .running .step-state { border-color: var(--amber); }
.remediation-step-tree strong { font-size: .72rem; }
.remediation-step-tree p { margin: 3px 0 0; color: var(--muted); font-size: .67rem; line-height: 1.45; }
.remediation-step-tree details { margin-top: 6px; color: var(--muted-2); font-size: .65rem; }
.remediation-step-tree pre, .full-remediation-log pre { max-height: 240px; margin-top: 7px; overflow: auto; white-space: pre-wrap; }
.full-remediation-log { margin-top: 12px; color: var(--muted-2); font-size: .67rem; }
.unknown-device-classification { margin-top: 22px; padding: 16px; border: 1px solid #705c2d; background: rgba(56, 44, 21, .2); }
.unknown-device-classification > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.unknown-device-classification h3 { margin: 0; font-size: .92rem; }
.unknown-device-classification > div:first-child > span { color: var(--amber); font: 650 .58rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.unknown-device-classification > p { margin: 7px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.unknown-device-list { display: grid; gap: 9px; margin-top: 14px; }
.unknown-device-list article { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--line-soft); background: var(--panel-soft); }
.unknown-device-list article > span { color: var(--amber); font: 650 .56rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.unknown-device-list article > strong { font-size: .8rem; }
.unknown-device-list article > small { color: var(--muted-2); font-size: .63rem; }
.unknown-device-list .device-classifier { grid-column: auto; }
.issue-conversation { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--line); }
.issue-conversation-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.issue-conversation-heading h3 { margin: 0; font-size: .98rem; }
.issue-conversation-heading span { color: var(--muted-2); font-size: .62rem; }
.issue-conversation .issue-investigation { margin-top: 14px; }
.issue-message { margin-top: 12px; padding: 12px 14px; border-radius: 3px; }
.issue-message.assistant { background: #0b211a; }
.issue-message.operator { margin-left: 36px; background: var(--panel-soft); }
.issue-message strong { color: var(--green); font-size: .68rem; }
.issue-message time { margin-left: 8px; color: var(--muted-2); font-size: .59rem; }
.issue-message p { margin: 6px 0 0; color: #c4d6d0; font-size: .8rem; line-height: 1.58; white-space: pre-wrap; }
.issue-conversation-history { margin-top: 12px; }
.issue-conversation-history summary { color: var(--muted); cursor: pointer; font-size: .68rem; }
.issue-chat-form { margin-top: 16px; }
.issue-chat-form textarea { min-height: 92px; resize: vertical; }
.issue-chat-form > div { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.issue-technical { margin-top: 22px; color: var(--muted-2); font-size: .68rem; }
.issue-technical summary { width: max-content; cursor: pointer; }
.issue-technical .detail-meta { margin-bottom: 10px; }
.issue-quick-menu { margin-top: 18px; color: var(--muted-2); font-size: .68rem; }
.issue-quick-menu summary { width: max-content; cursor: pointer; }
.issue-quick-menu .detail-actions { margin-top: 12px; padding-top: 12px; }
.issue-workspace { margin-top: 26px; padding-top: 4px; border-top: 1px solid var(--line); }
.issue-workspace[hidden] { display: none; }
.issue-workflow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin: 4px 0 26px; }
.workflow-stage { min-width: 0; }
.workflow-stage > span { display: block; height: 5px; background: #1b2b26; }
.workflow-stage small { display: block; margin-top: 6px; overflow: hidden; color: var(--muted-2); font: 600 .55rem ui-monospace, SFMono-Regular, Menlo, monospace; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.workflow-stage.complete > span { background: var(--green); }
.workflow-stage.ready > span { background: var(--blue); }
.workflow-stage.active > span { background: var(--amber); animation: operation-pulse 1.4s ease-in-out infinite; }
.workflow-stage.optional > span { border: 1px solid var(--line); background: transparent; }
.issue-workflow.compact { margin: 12px 0 0; }
.issue-workflow.compact .workflow-stage small { font-size: .48rem; }
.implementation-backlog { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 20px; margin: 0 22px 22px; padding: 16px 18px; border: 1px solid #315d78; background: #081713; }
.implementation-backlog h3 { margin: 4px 0 0; font-size: .92rem; }
.implementation-backlog p { margin: 7px 0 0; color: var(--muted); font-size: .71rem; line-height: 1.5; }
.implementation-backlog > details { grid-column: 1 / -1; }
.implementation-backlog > details > summary { cursor: pointer; color: var(--blue); font: 700 .62rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.implementation-backlog-list { display: grid; gap: 8px; margin-top: 12px; }
.implementation-backlog-list article { display: grid; gap: 4px; padding: 11px 12px; border: 1px solid var(--line-soft); background: var(--panel-soft); }
.implementation-backlog-list article > span, .implementation-backlog-list article > small { color: var(--muted-2); font: .57rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.implementation-backlog-list article > strong { color: var(--green); font-size: .73rem; }
.implementation-backlog-list article > p { margin: 0; font-size: .68rem; }
.managed-context > p { margin-bottom: 14px; color: var(--muted-2); font-size: .72rem; }
.guest-note-form textarea { min-height: 110px; }
.guest-note-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; }
.guest-note-actions small { color: var(--muted-2); font-size: .62rem; }
.comment-form { margin-top: 28px; }
.comment-form textarea { min-height: 90px; }
.comment-form .button { margin-top: 8px; }
.comment { margin-top: 12px; padding: 12px; border-left: 2px solid var(--line); background: var(--panel-soft); }
.comment strong { font-size: .7rem; }
.comment time { margin-left: 8px; color: var(--muted-2); font-size: .62rem; }
.comment p { margin-top: 5px; font-size: .75rem; }
.executor-note { margin-top: 12px; padding: 12px; border: 1px solid #785f2c; color: #ddc68f; background: var(--amber-dark); font-size: .72rem; line-height: 1.5; }
.executor-note strong { color: var(--amber); font: 750 .62rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; }
.planner-note { margin-top: 12px; padding: 12px; border: 1px solid #285f4b; color: #b9ecd3; background: #0b211a; font-size: .72rem; line-height: 1.5; }
.planner-note strong { color: var(--green); font: 750 .62rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; }
.issue-investigation { margin-top: 26px; border: 1px solid #285f4b; background: #07130f; }
.issue-investigation.failed { border-color: #7b3531; }
.issue-investigation-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 14px; border-bottom: 1px solid var(--line-soft); }
.issue-investigation-heading strong { color: var(--green); font: 750 .64rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; }
.issue-investigation-heading span { color: var(--muted-2); font: 650 .59rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.issue-investigation-log { max-height: 250px; padding: 12px 14px; overflow-y: auto; color: #b7d0c7; font: .65rem/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; }
.issue-investigation-line { display: grid; grid-template-columns: 68px 1fr; gap: 10px; }
.issue-investigation.stalled { border-color: rgba(240, 180, 80, .45); }
.investigation-context-form { display: grid; gap: 10px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line-soft); }
.investigation-context-form label { color: var(--ink); font-size: .76rem; font-weight: 700; }
.investigation-context-form textarea { min-height: 96px; resize: vertical; }
.investigation-context-form > div { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.investigation-context-form small { color: var(--muted-2); font-size: .64rem; line-height: 1.45; }
.issue-investigation-line time { color: var(--muted-2); }
.issue-investigation-result { padding: 16px 14px; }
.guidance-card { margin-top: 22px; border: 1px solid #285f4b; background: #07130f; }
.issue-investigation-result h3 { margin: 0 0 8px; color: var(--muted); font: 700 .64rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; text-transform: uppercase; }
.issue-investigation-result p { margin: 0; color: #c4d6d0; font-size: .84rem; line-height: 1.65; white-space: pre-wrap; }
.issue-investigation-result ul { margin: 8px 0 0; padding-left: 20px; color: #b9cbc5; font-size: .76rem; line-height: 1.55; }
.issue-investigation-result + .issue-investigation-result { border-top: 1px solid var(--line-soft); }
.issue-investigation-history { border-top: 1px solid var(--line-soft); }
.issue-investigation-history summary { cursor: pointer; padding: 11px 14px; color: var(--muted); font-size: .7rem; }
.plan-empty p { color: var(--muted); }
.remediation-plan { margin-top: 24px; padding: 18px; border: 1px solid #326d55; background: #0a1713; }
.remediation-plan.plan-previous { border-color: var(--line); opacity: .8; }
.plan-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.plan-heading h3 { margin: 0; font-size: 1.02rem; line-height: 1.35; }
.plan-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 13px 0 18px; color: var(--muted-2); font: 600 .59rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.plan-summary { margin: 0; color: #c3d6cf; font-size: .82rem; line-height: 1.62; }
.plan-impact { margin-top: 16px; padding: 12px; border-left: 2px solid var(--green); background: var(--panel-soft); }
.plan-impact strong, .plan-section h4 { color: var(--muted); font: 700 .62rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; text-transform: uppercase; }
.plan-impact p { margin: 6px 0 0; color: #bdd0c9; font-size: .76rem; line-height: 1.5; }
.plan-section { margin-top: 20px; color: #b8cbc4; font-size: .75rem; line-height: 1.55; }
.plan-section h4 { margin: 0 0 8px; }
.plan-section ul, .plan-section ol { margin: 8px 0 0; padding-left: 20px; }
.plan-section li { margin: 5px 0; }
.plan-section summary, .plan-target summary, .backup-notes summary { cursor: pointer; color: var(--green); font-weight: 700; }
.plan-section pre, .plan-result pre { max-height: 320px; margin: 12px 0 0; padding: 12px; overflow: auto; border: 1px solid var(--line-soft); color: #c8f6df; background: #06100d; font: .66rem/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; }
.plan-target { margin-top: 9px; padding: 12px; border: 1px solid var(--line-soft); background: var(--panel-soft); }
.plan-target-title { display: flex; justify-content: space-between; gap: 10px; }
.plan-target-title span { color: var(--muted-2); font: .61rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.plan-target p { margin: 7px 0; color: var(--muted); font-size: .69rem; }
.plan-target code, .plan-result code { color: #b9ecd3; font-size: .64rem; overflow-wrap: anywhere; }
.plan-approval { display: flex; align-items: center; gap: 12px; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); }
.plan-approval small { color: var(--muted-2); font-size: .63rem; line-height: 1.4; }
.plan-running { color: var(--amber); font: 700 .68rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.plan-error { margin-top: 16px; padding: 11px; border: 1px solid #7b3531; color: #ffb6b1; background: var(--red-dark); font-size: .72rem; }
.adaptive-empty { padding: 16px; border: 1px dashed var(--line); }
.adaptive-workflow { margin-top: 22px; padding: 18px; border: 1px solid #315d78; background: #081713; }
.adaptive-steps { display: grid; gap: 10px; margin-top: 20px; }
.adaptive-step { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 12px; padding: 14px; border: 1px solid var(--line-soft); background: var(--panel-soft); }
.adaptive-step.capabilityrequired { border-color: #785f2c; }
.adaptive-step.needsbinding { border-color: #315d78; }
.adaptive-step.blocked, .adaptive-step.invalid { border-color: #7b3531; }
.adaptive-step-index { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid var(--line); color: var(--green); font: 700 .62rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.adaptive-step-heading { display: flex; justify-content: space-between; gap: 12px; }
.adaptive-step-heading h4 { margin: 4px 0 0; font-size: .82rem; }
.adaptive-step-heading > div > span { color: var(--muted-2); font: 650 .57rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.adaptive-step p { margin: 9px 0 0; color: #bfd2cb; font-size: .75rem; line-height: 1.55; }
.adaptive-step-meta { display: flex; flex-wrap: wrap; gap: 7px 13px; margin-top: 10px; color: var(--muted-2); font: .55rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.adaptive-inputs { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.adaptive-inputs code { padding: 3px 5px; color: var(--blue); background: #07110e; font-size: .59rem; }
.adaptive-policy-message { margin-top: 10px; padding: 8px 10px; border-left: 2px solid var(--line); color: var(--muted); background: #07110e; font-size: .68rem; line-height: 1.5; }
.requested-command { margin-top: 11px; padding: 10px; border: 1px solid #7b3531; background: var(--red-dark); }
.requested-command strong { color: var(--red); font: 750 .57rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.requested-command pre { margin: 7px 0 0; overflow-wrap: anywhere; color: #ffd1ce; font: .66rem/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; }
.adaptive-contract { margin-top: 11px; color: var(--muted); font-size: .68rem; }
.adaptive-contract summary { cursor: pointer; color: var(--green); font-weight: 700; }
.adaptive-contract ul, .policy-issues ul { padding-left: 19px; }
.adaptive-contract li { margin: 5px 0; line-height: 1.5; }
.policy-issues li { margin: 8px 0; color: var(--muted); }
.policy-issues li.policy-error, .policy-issues li.policy-critical { color: #ffaaa5; }
.policy-issues li.policy-warning { color: #ddc68f; }
.capability-proposal-list, .workflow-learning, .workflow-run-list { margin-top: 22px; }
.capability-proposal-list > h3, .workflow-learning > h3, .workflow-run-list > h3 { margin: 0 0 12px; color: var(--muted); font: 700 .67rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; text-transform: uppercase; }
.capability-proposal { margin-top: 12px; padding: 18px; border: 1px solid #785f2c; background: #151307; }
.capability-proposal h4 { margin: 5px 0 0; font-size: .86rem; }
.workflow-pattern, .workflow-outcome { margin-top: 10px; padding: 13px; border: 1px solid var(--line-soft); background: var(--panel-soft); }
.workflow-pattern > div { display: flex; justify-content: space-between; gap: 12px; }
.workflow-pattern span, .workflow-outcome small { color: var(--muted-2); font: .58rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.workflow-pattern ol { margin: 10px 0 0; padding-left: 20px; color: var(--muted); font-size: .67rem; line-height: 1.55; }
.workflow-pattern code { color: var(--blue); }
.workflow-outcome { border-left: 2px solid var(--line); }
.workflow-outcome.succeeded { border-left-color: var(--green); }
.workflow-outcome.failed, .workflow-outcome.rolledback, .workflow-outcome.blocked { border-left-color: var(--red); }
.workflow-outcome p { margin: 6px 0; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.workflow-run { margin-top: 12px; padding: 18px; border: 1px solid #315d78; background: #081713; }
.workflow-run-steps { display: grid; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.workflow-run-step { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 11px; padding: 11px; border: 1px solid var(--line-soft); background: var(--panel-soft); }
.workflow-run-step > span { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid var(--line); color: var(--green); font: 700 .58rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.workflow-run-step strong { display: block; font-size: .72rem; }
.workflow-run-step small { display: block; margin-top: 4px; color: var(--muted-2); font: .57rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.workflow-run-step p { margin: 7px 0 0; color: var(--muted); font-size: .67rem; line-height: 1.5; }
.workflow-run-step code { display: inline-block; margin-top: 6px; color: var(--blue); font-size: .58rem; }
.workflow-run-step.failed, .workflow-run-step.blocked { border-color: #7b3531; }
.workflow-run-step.succeeded { border-left: 2px solid var(--green); }
.plan-error-inline { color: #ffaaa5 !important; }
.settings-panel { margin-top: 32px; }
.settings-page { width: min(1180px, calc(100% - 40px)); }
.settings-hero { min-height: 220px; }
.memory-panel { margin-top: 28px; }
.settings-search input { width: min(320px, 42vw); height: 38px; border: 1px solid var(--line); padding: 9px 11px; color: var(--ink); background: var(--panel-soft); outline: none; }
.settings-search input:focus { border-color: var(--green); }
.memory-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-height: 680px; padding: 22px; overflow-y: auto; }
.memory-entry { min-width: 0; padding: 16px; border: 1px solid var(--line-soft); background: var(--panel-soft); }
.memory-entry-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.memory-entry-heading span { color: var(--green); font: 700 .63rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.memory-entry-heading time, .memory-entry small { color: var(--muted-2); font: .59rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.memory-entry p { margin: 13px 0; color: #bfd2cb; font-size: .76rem; line-height: 1.58; white-space: pre-wrap; overflow-wrap: anywhere; }
.memory-entry small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.settings-intro { max-width: 850px; margin: 20px 22px 0; color: var(--muted); font-size: .8rem; line-height: 1.65; }
.model-settings-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 22px; }
.route-card { display: grid; align-content: start; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 18px; border: 1px solid var(--line-soft); background: var(--panel-soft); }
.route-card-heading { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 14px; padding-bottom: 13px; border-bottom: 1px solid var(--line-soft); }
.route-card-heading span, .route-trigger { color: var(--muted-2); font: 650 .6rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; }
.route-card-heading strong { display: block; margin-top: 5px; font-size: .86rem; }
.route-card label { display: grid; gap: 6px; color: var(--muted); font-size: .68rem; }
.route-card input, .route-card select { width: 100%; min-width: 0; padding: 10px; border: 1px solid var(--line); color: var(--ink); background: #07110e; outline: none; }
.route-card input:focus, .route-card select:focus { border-color: var(--green); }
.route-note { grid-column: 1 / -1; margin: 0; color: var(--muted-2); font-size: .68rem; line-height: 1.5; }
.settings-save { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 14px; color: var(--muted-2); font: .65rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.plan-result { margin-top: 10px; padding: 11px; border-left: 2px solid var(--line); background: var(--panel-soft); }
.plan-result.succeeded { border-color: var(--green); }
.plan-result.failed, .plan-result.blocked { border-color: var(--red); }
.plan-result p { margin: 5px 0; color: var(--muted); }
.backup-count { display: flex; align-items: baseline; gap: 10px; margin-top: 22px; }
.backup-count strong { color: var(--green); font-size: 2rem; }
.backup-count span { color: var(--muted); font-size: .75rem; }
.backup-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.backup-list > div { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; padding: 9px; border: 1px solid var(--line-soft); background: var(--panel-soft); font-size: .7rem; }
.backup-list small { grid-column: 1 / -1; color: var(--muted-2); line-height: 1.4; }
.backup-failed, .backup-unknown { color: var(--red); }
.backup-stale { color: var(--amber); }
.backup-notes { margin-top: 14px; color: var(--muted); font-size: .68rem; line-height: 1.5; }
.backup-notes ul { padding-left: 18px; }
.tasks-panel .panel-heading p:not(.eyebrow) { max-width: 720px; margin: 8px 0 0; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.task-boundary { padding: 13px 22px; border-bottom: 1px solid #644f26; color: #cfbf96; background: #171407; font-size: .72rem; line-height: 1.55; }
.task-boundary strong { color: var(--amber); }
.task-filter-row { min-height: 57px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 22px; border-bottom: 1px solid var(--line-soft); color: var(--muted-2); font: 650 .62rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.tasks-list { min-height: 310px; }
.task-row { width: 100%; display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; gap: 16px; align-items: start; padding: 20px 22px; border: 0; border-bottom: 1px solid var(--line-soft); color: inherit; background: transparent; text-align: left; }
.task-row:last-child { border-bottom: 0; }
.task-row:hover { background: var(--panel-raised); }
.task-dot { width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 10px rgba(117, 191, 255, .5); }
.task-dot.warning { background: var(--amber); box-shadow: 0 0 10px rgba(243, 189, 89, .5); }
.task-dot.critical { background: var(--red); box-shadow: 0 0 10px rgba(255, 116, 109, .5); }
.task-dot.healthy { background: var(--green); box-shadow: 0 0 10px rgba(101, 230, 167, .5); }
.task-row-copy > div { display: flex; align-items: baseline; gap: 12px; }
.task-row-copy > div > span { color: var(--green); font: 650 .56rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.task-row h3 { margin: 0; font-size: .96rem; }
.task-row p { max-width: 850px; margin: 8px 0 0; overflow: hidden; color: var(--muted); font-size: .76rem; line-height: 1.55; text-overflow: ellipsis; white-space: nowrap; }
.task-row-meta { display: grid; justify-items: end; gap: 5px; color: var(--muted-2); font: .59rem ui-monospace, SFMono-Regular, Menlo, monospace; white-space: nowrap; }
.task-status { color: var(--blue); font: 750 .59rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .06em; text-transform: uppercase; }
.task-status.warning { color: var(--amber); }
.task-status.critical { color: var(--red); }
.task-status.healthy { color: var(--green); }
.task-list-empty { min-height: 310px; display: grid; place-content: center; justify-items: center; padding: 36px; text-align: center; }
.task-list-empty h3 { margin: 18px 0 0; }
.task-list-empty p { max-width: 510px; margin: 9px 0 18px; color: var(--muted); font-size: .78rem; line-height: 1.6; }
.task-empty { display: grid; align-content: center; justify-items: start; gap: 8px; padding: 28px; }
.task-empty span { color: var(--muted); font-size: .72rem; }
.task-empty .button { margin-top: 8px; }
.task-workspace { border: 0; background: transparent; box-shadow: none; }
.task-workspace .ticket-toolbar { border: 1px solid var(--line); background: var(--panel); }
.task-detail { padding-bottom: 80px; }
.task-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 30px; align-items: start; padding: 42px 4px 30px; }
.task-hero h1 { max-width: 980px; font-size: clamp(2rem, 3.8vw, 4rem); }
.task-hero > div > p:last-child { max-width: 900px; margin: 18px 0 0; color: #b8ccc4; font-size: .9rem; line-height: 1.7; white-space: pre-wrap; }
.task-status-control { display: grid; gap: 7px; color: var(--muted-2); font: 650 .58rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .09em; }
.task-status-control select, .task-decision select, .task-decision input, .task-step-heading select { border: 1px solid var(--line); padding: 8px 10px; color: var(--ink); background: var(--panel-soft); outline: none; }
.task-status-control select:focus, .task-decision select:focus, .task-decision input:focus, .task-step-heading select:focus { border-color: var(--green); }
.task-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); background: var(--panel); }
.task-facts > div { min-width: 0; padding: 17px 20px; border-right: 1px solid var(--line-soft); }
.task-facts > div:last-child { border-right: 0; }
.task-facts span, .task-review-meta span { display: block; color: var(--muted-2); font: 650 .56rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.task-facts strong { display: block; margin-top: 6px; overflow-wrap: anywhere; font-size: .77rem; }
.task-plan-intro { margin-top: 20px; padding: 24px; border: 1px solid var(--line); background: linear-gradient(120deg, #0d1d18, var(--panel)); }
.task-replanning { display: flex; align-items: center; gap: 11px; margin-top: 20px; padding: 12px 15px; border: 1px solid #785f2c; color: var(--amber); background: var(--amber-dark); font: 650 .65rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.task-replanning .operation-indicator { flex: 0 0 auto; margin: 0; }
.task-plan-intro > div { display: flex; align-items: center; gap: 13px; color: var(--muted-2); font: .61rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.task-risk { padding: 4px 7px; border: 1px solid var(--line); color: var(--green); text-transform: uppercase; }
.task-risk.high, .task-risk.critical { border-color: #7b3531; color: var(--red); }
.task-risk.moderate { border-color: #785f2c; color: var(--amber); }
.task-plan-intro > p { max-width: 980px; margin: 18px 0 0; color: #c5d8d1; font-size: .86rem; line-height: 1.7; }
.task-execution-boundary { margin-top: 20px; padding: 13px 15px; border-left: 3px solid var(--red); background: var(--red-dark); }
.task-execution-boundary.ready { border-color: var(--green); background: var(--green-dark); }
.task-execution-boundary strong { color: var(--red); font: 750 .62rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; text-transform: uppercase; }
.task-execution-boundary.ready strong { color: var(--green); }
.task-execution-boundary p { margin: 6px 0 0; color: #e0c2bf; font-size: .75rem; line-height: 1.55; }
.task-section { margin-top: 20px; padding: 22px; border: 1px solid var(--line); background: var(--panel); box-shadow: var(--shadow); }
.task-section > h3 { margin: 0 0 18px; font-size: 1rem; }
.task-section > h4, .task-review-columns h4 { margin: 21px 0 8px; color: var(--muted); font: 700 .61rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; text-transform: uppercase; }
.task-section ul { margin: 8px 0 0; padding-left: 20px; color: #b8ccc4; font-size: .74rem; line-height: 1.6; }
.task-section li { margin: 6px 0; }
.task-section-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.task-section-heading h3 { margin: 0; }
.task-section-heading > span { color: var(--muted-2); font: .6rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.task-decisions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.task-decision { display: grid; align-content: start; gap: 8px; margin: 0; padding: 14px; border: 1px solid var(--line-soft); background: var(--panel-soft); }
.task-decision.needs-input { border-color: #785f2c; }
.task-decision > span:first-child { display: flex; justify-content: space-between; gap: 8px; }
.task-decision strong { font-size: .76rem; }
.task-decision em { color: var(--muted-2); font: 600 .53rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.task-decision.needs-input em { color: var(--amber); }
.task-decision small, .decision-detail { color: var(--muted); font-size: .67rem; line-height: 1.45; }
.decision-detail { color: var(--muted-2); }
.task-decision-actions { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 8px; }
.task-decision-actions small { color: var(--muted-2); font-size: .65rem; }
.task-steps { display: grid; gap: 9px; }
.task-step { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 13px; padding: 15px; border: 1px solid var(--line-soft); background: var(--panel-soft); }
.task-step.critical { border-color: #7b3531; }
.task-step.warning { border-color: #785f2c; }
.task-step.healthy { border-left: 3px solid var(--green); opacity: .78; }
.task-step-index { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--line); color: var(--green); font: 700 .63rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.task-step-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.task-step-heading > span { color: var(--muted-2); font: 650 .55rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .07em; text-transform: uppercase; }
.task-step-heading select { padding: 5px 7px; font-size: .62rem; }
.task-step h4 { margin: 4px 0 0; font-size: .83rem; }
.task-step p { margin: 7px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.55; }
.task-step-meta { display: flex; flex-wrap: wrap; gap: 8px 15px; margin-top: 9px; color: var(--muted-2); font: .55rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.task-step-meta code { color: var(--blue); }
.task-review-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1px; border: 1px solid var(--line-soft); background: var(--line-soft); }
.task-review-meta > div { min-width: 0; padding: 13px; background: var(--panel-soft); }
.task-review-meta strong { display: block; margin-top: 5px; overflow-wrap: anywhere; font-size: .68rem; }
.task-review-meta a, .task-page-link, .task-sources a { color: var(--green); }
.task-specs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.task-specs > span { padding: 6px 8px; border: 1px solid var(--line-soft); color: var(--muted-2); font: .57rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.task-specs strong { margin-left: 4px; color: var(--ink); }
.task-review-columns, .task-plan-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.task-warning-list li { color: #dcc99f; }
.task-sources { margin-top: 18px; border-top: 1px solid var(--line-soft); }
.task-sources summary { cursor: pointer; padding: 14px 0; color: var(--green); font-size: .7rem; font-weight: 700; }
.task-sources article { display: grid; grid-template-columns: minmax(140px, .5fr) minmax(260px, 1fr) auto; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line-soft); }
.task-sources article div { display: grid; }
.task-sources small { color: var(--muted-2); font-size: .57rem; }
.task-sources code { overflow: hidden; color: #b8d9cb; font-size: .59rem; text-overflow: ellipsis; white-space: nowrap; }
.task-sources a, .task-page-link { font-size: .66rem; text-decoration: none; }
.task-page-link { display: inline-block; margin-top: 14px; }
.task-related-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.task-comments { display: grid; gap: 8px; }
.task-comments article { padding: 13px; border: 1px solid var(--line-soft); background: var(--panel-soft); }
.task-comments article > div { display: flex; justify-content: space-between; gap: 12px; }
.task-comments time { color: var(--muted-2); font-size: .58rem; }
.task-comments p { margin: 8px 0 0; color: #bfd2cb; font-size: .73rem; line-height: 1.55; white-space: pre-wrap; }
#task-comment-form { margin-top: 13px; }
#task-comment-form textarea { width: 100%; resize: vertical; border: 1px solid var(--line); padding: 11px; color: var(--ink); background: var(--panel-soft); outline: none; }
#task-comment-form textarea:focus { border-color: var(--green); }
#task-comment-form > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; }
#task-comment-form label { color: var(--muted); font-size: .68rem; }
.task-planning-state { min-height: 190px; display: grid; grid-template-columns: 12px minmax(0, 1fr); gap: 14px; align-content: center; margin-top: 20px; padding: 30px; border: 1px solid var(--line); background: var(--panel); }
.task-planning-state h3 { margin: 0; }
.task-planning-state p { max-width: 800px; margin: 8px 0 14px; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.task-dialog { width: min(900px, calc(100% - 28px)); }
.task-dialog form { max-height: min(850px, calc(100vh - 36px)); overflow-y: auto; }
.task-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.task-field { display: grid !important; align-content: start; gap: 7px; margin: 0 !important; }
.task-field-wide { grid-column: 1 / -1; }
.task-dialog textarea, .task-dialog select, .task-dialog input:not([type="checkbox"]) { width: 100%; min-width: 0; border: 1px solid var(--line); padding: 10px; color: var(--ink); background: var(--panel-soft); outline: none; }
.task-dialog textarea { resize: vertical; }
.task-dialog textarea:focus, .task-dialog select:focus, .task-dialog input:focus { border-color: var(--green); }
.community-task-fields { margin: 20px 0 0; padding: 17px; border: 1px solid var(--line); }
.community-task-fields[hidden] { display: none; }
.community-task-fields legend { padding: 0 7px; color: var(--green); font: 700 .62rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .09em; text-transform: uppercase; }
.task-check { display: flex !important; align-items: center; gap: 8px; margin: 7px 0 0 !important; color: var(--muted); font-size: .7rem; }
.task-dialog .task-check input { width: auto; }
.task-address-preview { margin-top: 15px; padding: 10px; border-left: 2px solid var(--green); color: #bdd1c9; background: var(--panel-soft); font: .65rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.access-dialog { width: min(520px, calc(100% - 28px)); padding: 0; border: 1px solid var(--line); color: var(--ink); background: var(--panel); box-shadow: var(--shadow); }
.access-dialog form { padding: 24px; }
.dialog-heading { display: flex; justify-content: space-between; align-items: start; }
.access-dialog p { color: var(--muted); font-size: .8rem; line-height: 1.55; }
.access-dialog code { display: block; margin: 16px 0; padding: 12px; overflow-x: auto; border: 1px solid var(--line-soft); color: var(--green); background: var(--panel-soft); font-size: .69rem; }
.access-dialog label { display: block; margin: 18px 0 7px; color: var(--muted); font-size: .72rem; }
.access-dialog input { width: 100%; border: 1px solid var(--line); padding: 11px; color: var(--ink); background: var(--panel-soft); outline: none; }
.access-dialog input:focus { border-color: var(--green); }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }
.form-error { min-height: 18px; color: var(--red) !important; }
.toast { position: fixed; right: 24px; bottom: 24px; z-index: 50; max-width: min(430px, calc(100% - 48px)); padding: 13px 16px; border: 1px solid var(--line); color: var(--ink); background: var(--panel-raised); box-shadow: var(--shadow); opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .2s, transform .2s; font-size: .76rem; }
.toast.show { opacity: 1; transform: translateY(0); }
.toast.error { border-color: #7b3531; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
@media (max-width: 1080px) {
  .app-dashboard { --sidebar-width: 76px; --content-gap: 24px; --page-edge: 18px; }
  .topbar { grid-template-columns: 1fr auto; }
  .topbar nav { display: none; }
  .metrics { grid-template-columns: repeat(2, 1fr); }
  .metrics article { border-bottom: 1px solid var(--line); }
  .metrics article:nth-child(even) { border-right: 0; }
  .metrics article:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .operations-layout { grid-template-columns: 1fr; }
  .operations-layout > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .workspace { grid-template-columns: 1fr; }
  .model-settings-form { grid-template-columns: 1fr; }
  .memory-list { grid-template-columns: 1fr; }
  .chat-panel { position: static; max-height: none; }
  .inventory-card, .inventory-card.wide { grid-column: span 6; }
  .guest-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .host-summary { grid-template-columns: 1fr; }
  .edge-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .edge-metrics article:nth-child(even) { border-right: 0; }
  .edge-metrics article:nth-child(-n+2) { border-bottom: 1px solid var(--line-soft); }
  .edge-topology { grid-template-columns: minmax(210px, .8fr) 70px minmax(250px, 1.2fr); }
  .edge-branches { grid-template-columns: 1fr; }
  .network-report-summary { grid-template-columns: 1fr; }
  .posture-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .posture-metrics article:nth-child(even) { border-right: 0; }
  .posture-metrics article:nth-child(-n+2) { border-bottom: 1px solid var(--line-soft); }
  .posture-row { grid-template-columns: 10px minmax(180px, .8fr) minmax(220px, 1.2fr); }
  .posture-result { grid-column: 2 / -1; justify-items: start; text-align: left; }
  .app-sidebar { padding-inline: 9px; }
  .nav-row { grid-template-columns: 1fr; }
  .nav-row > button, .nav-subitems { display: none; }
  .app-sidebar a { grid-template-columns: 1fr; justify-items: center; padding-inline: 6px; }
  .app-sidebar a > strong, .app-sidebar a > em { display: none; }
  .overview-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .topbar { padding: 0 14px; }
  .freshness { display: none; }
  #run-analysis { display: none; }
  .top-actions { gap: 0; }
  main { width: min(100% - 24px, 1480px); padding-top: 34px; }
  .hero { min-height: 210px; }
  .health-orb { display: none; }
  .brief-meta { gap: 9px 14px; }
  .metrics article { padding: 18px 14px; }
  .panel-heading { align-items: flex-start; flex-direction: column; }
  .chat-heading-actions { width: 100%; justify-items: start; }
  .toolbar { width: 100%; flex-wrap: wrap; }
  .issue-filters { width: 100%; }
  .issue-filters .button { flex: 1; }
  .search { flex: 1; }
  .search input { width: 100%; }
  .scope-filter { flex: 1; }
  .scope-filter select { width: 100%; }
  .issue { grid-template-columns: 9px minmax(0, 1fr); }
  .issue-meta { grid-column: 2; text-align: left; }
  .inventory-card, .inventory-card.wide { grid-column: span 12; }
  .guest-grid { grid-template-columns: 1fr; padding-left: 10px; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .network-status { grid-template-columns: 10px minmax(0, 1fr); }
  .network-status time { grid-column: 2; }
  .posture-status { grid-template-columns: 10px minmax(0, 1fr); }
  .posture-status time { grid-column: 2; }
  .posture-metrics { grid-template-columns: 1fr; }
  .posture-metrics article { border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .posture-metrics article:last-child { border-bottom: 0; }
  .posture-row { grid-template-columns: 10px minmax(0, 1fr); }
  .posture-version, .posture-result { grid-column: 2; justify-items: start; text-align: left; }
  .posture-gap-list { grid-template-columns: 1fr; }
  .edge-metrics { grid-template-columns: 1fr; }
  .edge-metrics article { border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .edge-metrics article:last-child { border-bottom: 0; }
  .network-observability { padding: 18px 14px; }
  .network-subheading { align-items: flex-start; flex-direction: column; }
  .edge-topology { grid-template-columns: 1fr; }
  .edge-hub { min-height: 58px; }
  .edge-hub::before, .edge-hub::after, .edge-branches::before { display: none; }
  .edge-branches { grid-template-columns: 1fr; }
  .network-report-tabs { grid-template-columns: 1fr; }
  .network-host { grid-template-columns: 70px minmax(0, 1fr); }
  .network-host-address { grid-column: 2; }
  .network-host small:not(.network-host-address), .network-host em, .network-host em + small { grid-column: 2; }
  .device-classifier { grid-template-columns: 1fr; }
  .device-classifier .button, .device-classifier-help { grid-column: 1; }
  .drawer { width: 100%; }
  .drawer-content { padding: 24px 20px 60px; }
  .composer-row { align-items: stretch; flex-direction: column; }
  .plan-heading, .plan-target-title, .plan-approval { align-items: flex-start; flex-direction: column; }
  .backup-list { grid-template-columns: 1fr; }
  .route-card { grid-template-columns: 1fr; }
  .route-card-heading, .route-note { grid-column: 1; }
  .settings-save { align-items: stretch; flex-direction: column; }
  .task-row { grid-template-columns: 9px minmax(0, 1fr); }
  .task-row-meta { grid-column: 2; justify-items: start; }
  .task-row-copy > div { align-items: flex-start; flex-direction: column; gap: 5px; }
  .task-row p { white-space: normal; }
  .task-hero { grid-template-columns: 1fr; }
  .task-status-control { justify-self: start; }
  .task-facts, .task-review-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .task-facts > div:nth-child(2) { border-right: 0; }
  .task-facts > div:nth-child(-n+2) { border-bottom: 1px solid var(--line-soft); }
  .task-decisions, .task-form-grid, .task-review-columns, .task-plan-columns { grid-template-columns: 1fr; }
  .task-field-wide, .task-decision-actions { grid-column: 1; }
  .task-decision-actions { align-items: stretch; flex-direction: column; }
  .task-sources article { grid-template-columns: 1fr; }
  .task-sources code { white-space: normal; overflow-wrap: anywhere; }
  #task-comment-form > div { align-items: stretch; flex-direction: column; }
  .app-dashboard { padding-bottom: 64px; }
  .app-dashboard .topbar { min-height: 62px; }
  .app-sidebar { inset: auto 0 0; width: auto; height: 62px; flex-direction: row; padding: 6px 8px; border-top: 1px solid var(--line); border-right: 0; overflow-x: auto; }
  .app-sidebar nav { width: auto; min-width: max-content; flex: 1; display: flex; justify-content: space-between; gap: 3px; }
  .nav-group { display: block; }
  .nav-row { display: block; }
  .app-sidebar a { min-width: 43px; min-height: 48px; padding: 5px 7px; }
  .app-dashboard .sidebar-settings { display: grid; }
  .app-dashboard main { width: min(100% - 24px, 1280px); margin: 0 auto; padding-top: 24px; }
  .overview-card-heading { align-items: flex-start; }
  .overview-list-item { grid-template-columns: 9px minmax(0, 1fr); }
  .overview-list-item time, .overview-list-item > span:last-child { grid-column: 2; }
  .ticket-toolbar { grid-template-columns: 1fr auto; }
  .ticket-toolbar > span { display: none; }
  .ticket-content { padding: 30px 18px 82px; }
  .fix-impact { grid-template-columns: 1fr; }
  .fix-impact > div { min-height: 72px; border-right: 0; border-bottom: 1px solid var(--line); }
  .fix-impact > div:last-child { border-bottom: 0; }
  .completed-operation > summary { grid-template-columns: auto minmax(0, 1fr); }
  .completed-operation > summary > span:last-child { grid-column: 2; }
  .completed-operation-events { padding-left: 18px; }
  .completed-operation-events > div { grid-template-columns: 1fr; }
  .completed-operation-events pre { grid-column: 1; }
}

.system-context { margin-top: 22px; padding: 24px; }
.system-context.detail-block { padding: 0; }
.system-context .fact { align-content: start; }
.system-context .fact small { grid-column: 1 / -1; color: var(--muted); line-height: 1.5; overflow-wrap: anywhere; }
.system-context .fact strong { overflow-wrap: anywhere; }
.system-context .section-heading { gap: 16px; flex-wrap: wrap; }
.system-context .section-heading > span { color: var(--muted); font-size: 12px; }
.system-context > p { color: var(--muted); }
.system-context li + li { margin-top: 12px; }

.model-fallback-card, .local-model-settings { grid-column: 1 / -1; }
.local-model-settings .panel-heading { padding: 12px 0; }
.local-model-settings > .route-note { margin-bottom: 16px; }
#local-endpoints { display: grid; gap: 16px; }
.route-card .model-check { display: flex; align-items: center; gap: 10px; }
.route-card .model-check input { width: auto; flex: 0 0 auto; }
.route-card [hidden] { display: none; }
.local-endpoint .route-card-heading > div { display: flex; gap: 6px; }

.storage-review { padding: 18px; margin: 18px 0; }
.storage-review > summary { font-weight: 650; cursor: pointer; }
.storage-capacity { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 20px 0 12px; }
.storage-capacity span { display: grid; gap: 5px; font-size: 12px; }
.storage-capacity strong { font-size: 19px; }
.storage-review meter { width: 100%; height: 14px; }
.storage-review table { width: 100%; margin: 16px 0; border-collapse: collapse; font-size: 13px; }
.storage-review th, .storage-review td { text-align: left; padding: 8px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.storage-review pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; }
.storage-review li { margin: 8px 0; }
.storage-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; margin: 22px 0; }
.storage-choices > *, .prerequisite-step { border: 1px solid var(--line); padding: 16px; }
.storage-choices label, .storage-choices small { display: block; margin-bottom: 12px; }
.storage-choices input { display: block; width: 100%; padding: 10px; margin-top: 8px; color: var(--ink); background: var(--panel-soft); border: 1px solid var(--line); }
.prerequisite-step { margin: 12px 0; }
.prerequisite-access { border-left: 3px solid var(--warn, #d7a34b); padding-left: 12px; }
@media (max-width: 620px) { .storage-capacity { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.software-workspace { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 20px; margin-bottom: 28px; }
.software-card { padding: 24px; min-width: 0; }
.software-card header, .software-app > div:first-child, .software-task-action { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.software-card h3 { margin: 4px 0 10px; text-transform: capitalize; }
.software-card small, .software-hint { color: var(--muted); font-size: 12px; }
.software-purpose { white-space: pre-wrap; }
.software-app { padding: 16px 0; border-bottom: 1px solid var(--line-soft); }
.software-app p { margin: 8px 0; }
.software-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.software-context { margin-top: 18px; }
.software-context summary, .software-lifecycle > summary { cursor: pointer; padding: 10px 0; font-weight: 600; }
.software-context label { display: grid; gap: 8px; margin: 14px 0; font-size: 13px; }
.software-context input, .software-context textarea { width: 100%; box-sizing: border-box; }
.software-context pre { box-sizing: border-box; max-width: 100%; max-height: 360px; margin: 12px 0; padding: 12px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; line-height: 1.5; background: var(--panel-soft); border: 1px solid var(--line); }
.software-feedback { font-size: 13px; overflow-wrap: anywhere; }
.software-task-action { padding: 8px 0; }

.software-overview { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 18px 32px; padding: 4px 0 20px; color: var(--muted); font-size: .8rem; }
.software-overview > div > span { display: block; color: var(--text); font-size: 1.8rem; font-weight: 650; }
.software-overview > p { flex-basis: 100%; margin: 0; max-width: 80ch; line-height: 1.6; }
.software-app > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.software-app .software-versions { display: flex; align-items: center; justify-content: flex-start; gap: 24px; padding: 16px 0 4px; }
.software-versions > div { display: grid; gap: 5px; min-width: 0; }
.software-versions strong { font: 600 1.15rem ui-monospace, SFMono-Regular, Menlo, monospace; overflow-wrap: anywhere; }
.software-versions small { color: var(--muted); font-size: .7rem; }
.software-status { font-size: .68rem; padding: 5px 8px; border-radius: 6px; background: var(--surface-raised, #202734); color: var(--muted); }
.software-status.available { color: #9de2c2; background: #15332a; }
.software-status.current { color: #acd6f3; }
.software-app .software-release-notes { max-width: 85ch; line-height: 1.6; font-size: .83rem; }
.software-app .software-release-source { display: flex; justify-content: flex-start; flex-wrap: wrap; gap: 14px; font-size: .72rem; }
.software-blocker { padding: 10px 12px; border-left: 2px solid #8d7548; background: rgba(110, 87, 41, .1); line-height: 1.5; }
.software-issue { margin: 20px 0; }
.software-issue .software-app { padding: 18px; }
@media (max-width: 650px) {
  .software-card > header, .software-app > header { align-items: flex-start; flex-wrap: wrap; }
  .software-app .software-versions { gap: 12px; }
  .software-versions strong { font-size: .95rem; }
}
