/* Production surface: quiet hierarchy, clear state, and progressive disclosure. */
:root {
  --ops-focus: #22d3ee;
  --ops-success: #34d399;
  --ops-warning: #fbbf24;
  --ops-danger: #fb7185;
  --ops-radius: 10px;
}

button,
input,
select,
textarea,
summary {
  font: inherit;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--ops-focus);
  outline-offset: 2px;
}

.tab-header {
  max-width: 760px;
}

.tab-header h1 {
  letter-spacing: -0.025em;
}

.case-focus {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 20px;
  width: calc(100% - 24px);
  margin: 0 12px 18px;
  padding: 18px 20px;
  overflow: hidden;
  color: var(--text-main);
  text-align: left;
  background: linear-gradient(100deg, rgba(34, 211, 238, 0.08), rgba(30, 41, 59, 0.42));
  border: 1px solid rgba(34, 211, 238, 0.28);
  border-radius: var(--ops-radius);
  cursor: pointer;
}

.case-focus::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: rgba(148, 163, 184, 0.55);
}

.case-focus[data-state='active']::before {
  background: var(--ops-success);
}

.case-focus__eyebrow {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.case-focus__value {
  grid-column: 1;
  font-size: 1.05rem;
  line-height: 1.35;
}

.case-focus__detail {
  grid-column: 1;
  color: var(--text-muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

.case-focus__action {
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: center;
  color: #a5f3fc;
  font-size: 0.76rem;
  font-weight: 650;
  white-space: nowrap;
}

.fleet-collapsible {
  margin-inline: 12px;
  border-radius: var(--ops-radius);
}

.fleet-collapsible-summary {
  min-height: 48px;
}

.fleet-collapsible:not([open]) .fleet-collapsible-summary {
  color: var(--text-secondary);
}

#globeContainer {
  height: min(390px, 52vh) !important;
}

.urgency-pill {
  min-height: 32px;
}

.case-workspace__status:empty {
  display: none;
}

.case-workspace select {
  color-scheme: dark;
  color: #f8fafc;
  background-color: #111827;
}

.case-workspace select option {
  color: #111827;
  background-color: #f8fafc;
}

.case-workspace__trace {
  opacity: 0.72;
}

.compliance-result {
  display: grid;
  grid-template-columns: minmax(7rem, auto) 1fr auto;
  gap: 8px 14px;
  align-items: baseline;
  padding: 9px 0;
  border-bottom: 1px solid var(--border);
}

.compliance-result small {
  color: var(--text-muted);
  text-transform: capitalize;
}

.chat-panel {
  box-shadow: -16px 0 40px rgba(0, 0, 0, 0.3);
}

.chat-panel.advisory-open {
  right: 0;
  width: min(680px, 100vw);
}

.chat-panel.advisory-open .chat-msg.ai-msg,
.chat-panel.advisory-open .chat-msg.ai-msg .msg-bubble {
  width: 100%;
  max-width: none;
}

.mx-advisory { display:grid; gap:16px; min-width:0; }
.mx-advisory__header { padding:14px; border:1px solid rgba(34,211,238,.35); border-radius:12px; background:linear-gradient(145deg,rgba(8,31,46,.95),rgba(11,21,34,.95)); }
.mx-advisory__label { color:var(--ops-accent,#22d3ee); font:700 .63rem/1 ui-monospace,monospace; letter-spacing:.13em; }
.mx-advisory h3 { margin:8px 0; color:var(--text-main,#f8fafc); font-size:1.15rem; }
.mx-advisory h4 { margin:0 0 8px; color:var(--text-main,#f8fafc); font-size:.76rem; text-transform:uppercase; letter-spacing:.07em; }
.mx-advisory p { margin:0; color:var(--text-muted,#94a3b8); font-size:.78rem; line-height:1.55; }
.mx-advisory section { padding:13px; border:1px solid var(--border); border-radius:10px; background:rgba(8,15,27,.58); }
.mx-advisory section ul { display:grid; gap:8px; margin:0; padding-left:18px; }
.mx-advisory section li { color:var(--text-main,#e2e8f0); font-size:.77rem; line-height:1.5; }
.mx-citations { display:inline-flex; flex-wrap:wrap; gap:4px; margin-left:6px; }
.mx-citations span { padding:2px 5px; border-radius:5px; color:#67e8f9; background:rgba(34,211,238,.1); font:700 .58rem ui-monospace,monospace; }
.mx-pattern { display:grid; gap:7px; margin-top:8px; padding:10px; border-radius:8px; background:rgba(15,23,42,.8); }
.mx-pattern__score { position:relative; overflow:hidden; width:max-content; padding:5px 8px; border:1px solid rgba(34,211,238,.25); border-radius:999px; color:#bff7ff; font:700 .61rem ui-monospace,monospace; }
.mx-pattern__score::before { content:""; position:absolute; z-index:-1; inset:0 auto 0 0; width:var(--score); background:rgba(34,211,238,.14); }
.mx-advisory-table { display:grid; gap:7px; }
.mx-advisory-table>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; padding:9px; border-radius:7px; background:rgba(15,23,42,.75); }
.mx-advisory-table strong { font-size:.74rem; }.mx-advisory-table>div>span { color:#fbbf24; font:700 .68rem ui-monospace,monospace; }
.mx-advisory-table small { grid-column:1/-1; color:var(--text-muted); }.mx-advisory-table .mx-citations { grid-column:1/-1; margin-left:0; }
.mx-parts-list { list-style:none; padding-left:0!important; }.mx-parts-list li { display:grid; grid-template-columns:auto 1fr; align-items:start; gap:5px 9px; }
.mx-parts-list code { color:#fbbf24; }.mx-parts-list .mx-citations { grid-column:1/-1; margin-left:0; }
.mx-advisory__limitations { border-color:rgba(251,191,36,.3)!important; background:rgba(80,54,6,.12)!important; }
.mx-advisory__follow-up { padding:12px; border-left:3px solid #22d3ee; background:rgba(34,211,238,.06); color:#dff9ff!important; }
.mx-manual-appendix { overflow:hidden; border:1px solid rgba(99,102,241,.35); border-radius:11px; background:rgba(8,15,27,.75); }
.mx-manual-appendix>summary { position:sticky; top:0; z-index:2; padding:13px; color:#a5b4fc; background:#101827; cursor:pointer; font:800 .68rem ui-monospace,monospace; letter-spacing:.08em; }
.mx-manual-record { display:grid; gap:7px; padding:13px; border-top:1px solid var(--border); }
.mx-manual-record header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:7px; align-items:start; }
.mx-manual-record header>span:first-child { color:#67e8f9; font:700 .64rem ui-monospace,monospace; }.mx-manual-record header strong { font-size:.76rem; }
.mx-manual-record__score { padding:3px 6px; border-radius:999px; color:#86efac; background:rgba(34,197,94,.1); font:700 .58rem ui-monospace,monospace; white-space:nowrap; }
.mx-manual-record>small { color:#64748b; font:.57rem ui-monospace,monospace; overflow-wrap:anywhere; }
.mx-manual-record__images { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.mx-manual-record figure { overflow:hidden; margin:0; border:1px solid var(--border); border-radius:8px; background:#050a12; }
.mx-manual-record img { display:block; width:100%; aspect-ratio:4/3; object-fit:contain; background:#fff; }
.mx-manual-record figcaption { padding:6px; color:#94a3b8; font-size:.58rem; }

@media (max-width:680px) {
  .chat-panel.advisory-open { width:100vw; }
  .mx-manual-record header { grid-template-columns:auto 1fr; }
  .mx-manual-record__score { grid-column:1/-1; width:max-content; }
}

.chat-input {
  min-width: 0;
}

.btn-primary,
.btn-email-invoice,
.chat-send-btn,
.chat-mic-btn {
  min-height: 40px;
}

.capability-workbench { padding-bottom:72px; }
.capability-toolbar { display:flex; gap:12px; align-items:end; margin:0 12px 24px; padding:14px 16px; border:1px solid var(--border); border-radius:var(--ops-radius); background:var(--card-bg); }
.capability-status { margin-right:auto; color:var(--text-muted); font-size:.8rem; }
.capability-status[data-state="ready"] { color:var(--ops-success); }
.capability-status[data-state="error"] { color:var(--ops-danger); }
.capability-search { display:grid; gap:5px; color:var(--text-muted); font-size:.72rem; }
.capability-search input { min-width:240px; padding:9px 11px; color:var(--text-main); background:var(--bg-secondary); border:1px solid var(--border); border-radius:8px; }
.capability-domain { margin:0 12px 28px; }
.capability-domain__header { margin-bottom:11px; }
.capability-domain h2 { display:flex; gap:8px; align-items:center; margin:0; font-size:1rem; }
.capability-domain h2 span { display:inline-grid; min-width:21px; height:21px; padding:0 5px; place-items:center; color:var(--text-muted); background:rgba(148,163,184,.1); border-radius:999px; font-size:.65rem; }
.capability-domain__header p { max-width:740px; margin:4px 0 0; color:var(--text-muted); font-size:.76rem; line-height:1.45; }
.capability-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:9px; }
.capability-card { display:grid; gap:6px; min-height:94px; padding:14px; text-align:left; color:var(--text-main); background:var(--card-bg); border:1px solid var(--border); border-radius:9px; cursor:pointer; }
.capability-card:hover,.capability-card.is-selected { border-color:rgba(34,211,238,.5); background:rgba(34,211,238,.06); }
.capability-card strong { font-size:.82rem; }
.capability-card span { color:var(--text-muted); font-size:.72rem; line-height:1.45; }
.capability-runner { margin:32px 12px 0; padding:20px; border:1px solid rgba(34,211,238,.35); border-radius:var(--ops-radius); background:linear-gradient(145deg,rgba(15,23,42,.98),rgba(17,24,39,.98)); box-shadow:0 18px 45px rgba(0,0,0,.22); }
.capability-runner>header { display:flex; gap:20px; align-items:start; justify-content:space-between; margin-bottom:18px; }
.capability-runner header span { color:var(--ops-focus); font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.capability-runner h2 { margin:4px 0; font-size:1.25rem; }
.capability-runner header p { max-width:720px; margin:0; color:var(--text-muted); font-size:.78rem; line-height:1.5; }
.capability-runner__close { padding:7px 10px; color:var(--text-muted); background:transparent; border:1px solid var(--border); border-radius:7px; cursor:pointer; }
.capability-runner form { display:grid; gap:16px; }
.capability-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.capability-fields--nested { margin-top:10px; }
.capability-field { display:grid; align-content:start; gap:6px; }
.capability-field>label,.capability-advanced__body>label { display:flex; gap:7px; align-items:center; color:var(--text-secondary); font-size:.76rem; font-weight:650; }
.capability-field label span,.capability-fieldset legend span { color:var(--text-muted); font-size:.61rem; font-weight:500; text-transform:uppercase; }
.capability-field input:not([type="checkbox"]),.capability-field select,.capability-field textarea { width:100%; min-height:42px; box-sizing:border-box; padding:10px 11px; color:#f8fafc; background:#0b1220; border:1px solid var(--border); border-radius:8px; }
.capability-field select { color-scheme:dark; }
.capability-field select option { color:#111827; background:#f8fafc; }
.capability-field textarea { resize:vertical; line-height:1.45; }
.capability-field small,.capability-fieldset>small { color:var(--text-muted); font-size:.68rem; line-height:1.4; }
.capability-fieldset { grid-column:1/-1; min-width:0; margin:0; padding:14px; border:1px solid var(--border); border-radius:9px; }
.capability-fieldset legend { padding:0 6px; color:var(--text-secondary); font-size:.76rem; font-weight:650; }
.capability-toggle { display:flex!important; min-height:42px; width:max-content; padding:0 12px; align-items:center!important; color:var(--text-main)!important; background:#0b1220; border:1px solid var(--border); border-radius:8px; cursor:pointer; }
.capability-toggle input { width:16px; height:16px; accent-color:var(--ops-focus); }
.capability-advanced { border:1px solid var(--border); border-radius:8px; }
.capability-advanced>summary { padding:11px 13px; color:var(--text-muted); font-size:.75rem; cursor:pointer; }
.capability-advanced__body { display:grid; gap:9px; padding:0 13px 13px; }
.capability-runner .capability-advanced textarea,.capability-runner pre { width:100%; box-sizing:border-box; padding:12px; color:#dbeafe; background:#070b14; border:1px solid var(--border); border-radius:8px; font:12px/1.55 ui-monospace,monospace; overflow:auto; }
.capability-runner details pre { max-height:280px; }
.capability-result-summary { margin-top:20px; overflow:hidden; border:1px solid var(--border); border-radius:9px; background:rgba(2,6,23,.32); }
.capability-result-summary>header { display:flex; gap:10px; align-items:center; padding:12px 14px; border-bottom:1px solid var(--border); }
.capability-result-summary>header p { margin:0; color:var(--text-muted); font-size:.76rem; }
.capability-result-status { padding:4px 8px; color:#d1fae5; background:rgba(52,211,153,.13); border-radius:999px; font-size:.67rem; font-weight:700; }
.capability-result-summary[data-state="failed"] .capability-result-status { color:#fecdd3; background:rgba(251,113,133,.15); }
.capability-result-body { padding:14px; }
.capability-result-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:8px; margin:0; }
.capability-result-facts div { padding:10px; background:rgba(15,23,42,.72); border:1px solid var(--border); border-radius:8px; }
.capability-result-facts dt { color:var(--text-muted); font-size:.65rem; text-transform:uppercase; }
.capability-result-facts dd { margin:4px 0 0; overflow-wrap:anywhere; font-size:.82rem; }
.capability-result-group { margin-top:14px; }
.capability-result-group h4 { margin:0 0 8px; font-size:.78rem; }
.capability-result-records { display:grid; gap:8px; }
.capability-result-record { position:relative; padding:12px 12px 12px 38px; border:1px solid var(--border); border-radius:8px; }
.capability-result-record__number { position:absolute; top:12px; left:12px; color:var(--ops-focus); font-size:.67rem; font-weight:700; }
.capability-result-list { margin:0; padding-left:20px; color:var(--text-secondary); }
.capability-result__muted,.capability-empty-state,.capability-empty { color:var(--text-muted); }
.capability-empty { margin:20px 12px; }
.capability-result-advanced { margin-top:10px; }
.capability-result { max-height:520px; margin:0 12px 12px; white-space:pre-wrap; }

@media (max-width: 720px) {
  .case-focus {
    grid-template-columns: 1fr;
    width: calc(100% - 16px);
    margin-inline: 8px;
    padding: 16px;
  }

  .case-focus__action {
    grid-column: 1;
    grid-row: auto;
    margin-top: 6px;
  }

  .fleet-collapsible {
    margin-inline: 8px;
  }

  #globeContainer {
    height: 310px !important;
  }
  .capability-toolbar { align-items:stretch; flex-direction:column; }
  .capability-search input { width:100%; min-width:0; }
  .capability-fields { grid-template-columns:1fr; }
  .capability-runner { margin-inline:8px; padding:15px; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
.btn-globe-vr {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border: 1px solid rgba(34, 211, 238, 0.45);
  border-radius: 6px;
  background: rgba(34, 211, 238, 0.1);
  color: #8beaff;
  font: 600 0.72rem/1 var(--font-sans, system-ui, sans-serif);
  cursor: pointer;
}

.btn-globe-vr:hover:not(:disabled) {
  border-color: #22d3ee;
  background: rgba(34, 211, 238, 0.18);
  color: #e7fbff;
}

.btn-globe-vr:disabled {
  cursor: default;
  opacity: 0.42;
}
