/* V4: connected operator surfaces over the accepted quiet V3 shell. */
:root {
  --mos-gutter: 28px;
  --mos-content-max: 1080px;
  --ops-gap: 16px;
  --ops-normal: #286344;
  --ops-attention: #80550f;
  --ops-blocked: #a33232;
}
:root[data-theme="dark"] {
  --ops-normal: #9bceb0;
  --ops-attention: #e4c188;
  --ops-blocked: #efaaaa;
}
.main { padding-top: 20px; padding-bottom: 40px; }
.view { max-width: var(--mos-content-max); }
.page-head { margin-bottom: 16px; gap: 12px; }
.page-head h1 { font-size: 24px; line-height: 32px; }
.page-head p { margin-top: 4px; line-height: 22px; max-width: 90ch; }
.page-head .eyebrow { margin-bottom: 4px; }
.stack, .grid { gap: var(--ops-gap); }
.section { padding: 12px 0; }
.section__title, .ops-card-title { padding: 8px 0; margin-bottom: 8px; font-size: 16px; line-height: 24px; }
.grid--kpi { gap: 0; margin: 0; border-radius: 8px; grid-template-columns: repeat(auto-fit, minmax(155px,1fr)); }
.kpi, :root[data-density="compact"] .kpi { padding: 14px 16px; gap: 4px; }
.kpi + .kpi { border-inline-start: 1px solid var(--mos-border); }
.kpi__value { font-size: 28px; line-height: 34px; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.kpi__value--long { font-size: 16px; line-height: 24px; letter-spacing: normal; }
.kpi__note { font-size: 12px; line-height: 18px; }
.workspace-disclosure summary { padding: 4px 0; }
.ops-toolbar { gap: 12px; padding-bottom: 4px; }
.ops-toolbar__field { width: 280px; }
.ops-note, .table-caption { font-size: 12px; line-height: 20px; }
.ops-note { margin-top: 8px; }
.kv { gap: 6px 16px; }
.card > .kv, .section > .kv { padding: 12px 16px; background: var(--mos-surface-subtle); border-radius: 6px; }
.table-wrap { max-height: 420px; overflow: auto; scrollbar-gutter: stable; border-radius: 6px; }
.table-wrap:focus-visible { outline: 2px solid var(--mos-text-muted); outline-offset: 3px; }
table { font-variant-numeric: tabular-nums; }
thead th { position: sticky; top: 0; z-index: 1; background: var(--mos-surface-subtle); font-weight: 600; }
td, th, :root[data-density="compact"] td, :root[data-density="compact"] th { padding: 8px 12px; font-size: 13px; line-height: 20px; }
tbody tr + tr { border-top: 1px solid var(--mos-border); }
tbody tr:hover { background: var(--mos-surface-subtle); }
.num { text-align: right; font-variant-numeric: tabular-nums; }
.table-caption { padding: 8px 12px; }
.badge { display: inline-flex; align-items: center; gap: 4px; }
.badge .mos-icon { width: 14px; height: 14px; flex: 0 0 14px; }
.confidence { margin: 0 0 16px; padding: 12px 16px; border-radius: 8px; background: var(--mos-surface-subtle); font-size: 12px; line-height: 18px; min-width: 0; }
.confidence__heading { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.confidence__heading > span:nth-child(2) { color: var(--mos-text-secondary); }
.confidence__heading details { margin-left: auto; max-width: 100%; }
.confidence__heading summary { cursor: pointer; text-decoration: underline; text-underline-offset: 3px; min-height: 24px; }
.confidence__heading details[open] { flex-basis: 100%; }
.confidence__heading details p { margin: 8px 0; max-width: 100%; overflow-wrap: anywhere; }
.confidence dl { display: grid; grid-template-columns: 1.4fr 1fr 1.35fr 1.35fr; gap: 12px; margin: 8px 0 0; padding-top: 8px; border-top: 1px solid var(--mos-border); }
.confidence__field { min-width: 0; }
.confidence dt { color: var(--mos-text-muted); margin-bottom: 2px; }
.confidence dd { margin: 0; overflow-wrap: anywhere; }
.confidence time { font-variant-numeric: tabular-nums; }
.ops-state { display: inline-flex; gap: 5px; align-items: center; font-weight: 600; }
.ops-state .mos-icon { width: 14px; height: 14px; }
.ops-state--normal { color: var(--ops-normal); }
.ops-state--attention, .ops-state--stale { color: var(--ops-attention); }
.ops-state--blocked, .ops-state--offline { color: var(--ops-blocked); }
.ops-state--unknown { color: var(--mos-text-secondary); }
.shift-workspace { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(240px, 1fr); gap: 24px; align-items: start; border-block: 1px solid var(--mos-border); padding: 8px 0; }
.shift-workspace > .section { align-content: start; }
.shift-workspace .evidence-item { min-height: 0; }
.shift-workspace .evidence-item { padding: 12px; border-radius: 6px; gap: 8px; }
.shift-workspace .stack { gap: 8px; }
.shift-context { padding-inline-start: 20px; border-inline-start: 1px solid var(--mos-border); }
.shift-links { display: grid; gap: 0; }
.shift-links a { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 12px 0; color: var(--mos-text); text-decoration: none; border-bottom: 1px solid var(--mos-border); }
.shift-links a:hover { background: var(--mos-surface-subtle); }
.shift-links small { color: var(--mos-text-muted); font-size: 12px; }
.signal-card { padding: 12px 0; border-top: 1px solid var(--mos-border); }
.signal-card h2 { font-size: 18px; line-height: 26px; margin-top: 12px; }
.signal-card__subject { margin-top: 4px; }
.signal-card .table-wrap { margin-top: 12px; }
.evidence-details { margin-block: 12px; }
.evidence-grid { margin-block: 12px; gap: 16px; }
.authority-boundary { margin-top: 16px; padding-top: 12px; padding-right: 0; border-top: 1px solid var(--mos-border); }
.settings-page { max-width: 960px; }
.settings-row { padding: 14px 0; border-bottom: 1px solid var(--mos-border); }
.settings-panel--truth { padding-top: 16px; }
.login { padding-top: 12px; }
.login__panel { gap: 16px; padding: 12px; }
.filter { padding: 12px 0; }
.timeline { padding: 0 12px 12px; }
.timeline__body { padding: 10px 0; gap: 4px; }
.footer { padding-block: 8px 12px; }
/* Reserve a right-edge lane rather than floating the owl over dense rows. */
@media (min-width: 901px) {
  .main { padding-right: 76px; }
  .xiaomo-dock { right: 12px; bottom: 16px; width: 44px; height: 48px; }
  .xiaomo-dock img { width: 40px; height: 40px; }
}
@media (max-width: 900px) {
  :root { --mos-gutter: 16px; }
  .main { padding-top: 16px; padding-bottom: 24px; }
  .confidence dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shift-workspace { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .shift-context { padding-inline-start: 0; border-inline-start: 0; border-top: 1px solid var(--mos-border); }
  .grid--kpi { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kpi { padding: 12px; }
  .kpi + .kpi { border: 0; }
  .kpi:nth-child(even) { border-inline-start: 1px solid var(--mos-border); }
  .kpi:nth-child(n+3) { border-top: 1px solid var(--mos-border); }
  .page-head h1 { font-size: 22px; line-height: 30px; }
  .confidence { padding: 10px 12px; }
  .confidence__heading { gap: 8px; }
  .confidence__heading summary { min-height: 32px; display: flex; align-items: center; }
  .table-wrap { max-height: 360px; }
  /* Inline footer dock cannot cover a table, warning or submit control. */
  .xiaomo-dock { position: relative; inset: auto; margin: 0 16px 12px auto; width: 44px; height: 48px; }
  .xiaomo-dock img { width: 40px; height: 40px; }
  .companion--drawer { bottom: 16px; max-height: calc(100dvh - 88px); }
}
@media (prefers-reduced-motion: reduce) {
  .xiaomo-dock:hover { transform: none; }
}
