/* EYE · inspector — after-action card, entity inspector, impact cards. */

:is(.insp, .aar) :is(b, span, dd, small, em).tone-good { color: var(--good); }
:is(.insp, .aar) :is(b, span, dd, small, em).tone-warn { color: var(--warn); }
:is(.insp, .aar) :is(b, span, dd, small, em).tone-bad { color: var(--bad); }
:is(.insp, .aar) :is(b, span, dd, small, em).tone-blue { color: var(--blue-2); }

/* ─── Inspector shell ─────────────────────────────────────────────────────── */
#inspector .insp { height: 100%; min-height: 0; }
.insp-head { gap: 10px; padding: 10px 8px 10px 12px; align-items: flex-start; }
.insp-head__glyph { width: 32px; height: 32px; flex: none; display: grid; place-items: center; border-radius: var(--r-md); background: var(--bg-1); border: 1px solid var(--line); }
.insp-head__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.insp-head__kind { font: 500 9.5px/1.3 var(--mono); letter-spacing: var(--track); text-transform: uppercase; color: var(--muted); display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.insp-head__name { font: 600 15px/1.25 var(--sans); color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.insp-head__acts { display: flex; gap: 2px; flex: none; }
.insp-head__acts .icon-btn.is-on { color: var(--blue-2); background: var(--blue-a); }
.insp-bglyph { width: 15px; height: 15px; border-radius: 4px; border: 1.5px solid var(--friendly); background: var(--friendly-fill); position: relative; }
.insp-bglyph::after { content: ''; position: absolute; left: 2px; right: 2px; top: 50%; height: 2px; margin-top: -1px; background: var(--friendly); border-radius: 1px; }
.insp-bglyph.is-fob { border-radius: 2px; box-shadow: 0 0 0 2.5px var(--bg-1), 0 0 0 4px var(--good); }
.insp-uglyph { color: var(--friendly); display: grid; place-items: center; }
.insp-uglyph.is-wreck { color: var(--wreck); }
.insp-zglyph { color: #ff8b84; display: grid; place-items: center; }

.insp-body { padding: 0 12px 18px; }
.insp-sec { padding: 10px 0 12px; display: flex; flex-direction: column; gap: 10px; }
.insp-sec + .insp-sec { border-top: 1px solid var(--line); }
.insp-sec__head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.insp-sec__head .label { color: var(--blue-2); }
.insp-sec--setup .insp-sec__head .label { color: var(--muted); }
.insp-sec__note { font-size: 10px; color: var(--faint); }
.insp-lock { display: flex; gap: 7px; align-items: flex-start; }
.insp-sub { display: flex; align-items: center; gap: 6px; margin-top: 2px; }
.insp-hint { font-size: var(--fs-xs); color: var(--muted); line-height: 1.5; }
.insp-hint b { color: var(--ink-2); }
.insp-note { font-size: var(--fs-xs); color: var(--muted); line-height: 1.45; }
.insp-note b { color: var(--ink-2); }
.insp-small { font-size: 10px; }
.insp-stats { gap: 4px 12px; }
.insp-stats dd { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.insp-stats dd b { color: var(--ink); }

.insp-block { display: flex; flex-direction: column; gap: 6px; }
.insp-row { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; align-items: center; gap: 8px; font-size: var(--fs-sm); color: var(--ink-2); }
.insp-row > :nth-child(2):last-child { grid-column: 2 / -1; }
.insp-row--top { align-items: flex-start; }
.insp-row .num small { color: var(--muted); font-size: 10px; }
.insp-k { font: 500 10px/1.2 var(--mono); letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
.insp-meter { height: 6px; position: relative; overflow: visible; }
.insp-meter > span { border-radius: 3px; }
.insp-meter__tick { position: absolute; top: -2px; width: 1.5px; height: 10px; background: var(--ink-2); border-radius: 1px; transform: translateX(-50%); opacity: 0.7; }
.meter.tone-good { --tone: var(--good); }
.meter.tone-warn { --tone: var(--warn); }
.meter.tone-bad { --tone: var(--bad); }
.meter.tone-blue { --tone: var(--blue); }
.meter.tone-muted { --tone: var(--muted); }

/* FOB readiness */
.insp-ready { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: var(--r-md); background: rgba(255, 255, 255, 0.015); }
.insp-ready__v { display: flex; flex-direction: column; }
.insp-ready__v .num { font: 500 28px/1 var(--mono); color: var(--ink); }
.insp-ready__v small { font: 500 13px/1 var(--mono); color: var(--muted); margin-left: 1px; }
.insp-ready__v.tone-good .num { color: var(--good); }
.insp-ready__v.tone-warn .num { color: var(--warn); }
.insp-ready__v.tone-bad .num { color: var(--bad); }
.insp-ready__v > div { display: flex; align-items: baseline; }
.insp-ready__k { font: 500 9px/1.3 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); margin-top: 5px; }
.insp-ready__comp { display: flex; flex-direction: column; gap: 5px; }
.insp-comp { display: grid; grid-template-columns: 72px minmax(0, 1fr) 40px; align-items: center; gap: 6px; font-size: 10.5px; color: var(--ink-2); }
.insp-comp .num { text-align: right; font-size: 10.5px; color: var(--ink); }
.insp-comp .num small { color: var(--faint); }

/* Runway strip with per-type ticks */
.insp-strip { position: relative; padding: 3px 0; }
.insp-strip .meter { height: 8px; }
.insp-strip__tick { position: absolute; top: 0; width: 1.5px; height: 14px; background: var(--ink-2); transform: translateX(-50%); opacity: 0.6; }
.insp-strip__tick.is-out { background: var(--warn); opacity: 1; }

/* Ramp tray */
.insp-tray { display: flex; flex-direction: column; gap: 5px; padding: 6px 8px; border-radius: var(--r-sm); background: var(--bg-1); border: 1px solid var(--line); }
.insp-tray__g { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.insp-tray__k { font: 600 9px/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--faint); width: 66px; }
.insp-unit { display: inline-flex; align-items: center; gap: 4px; height: 20px; padding: 0 6px; border-radius: 10px; font-size: 10.5px; color: var(--ink-2); background: var(--bg-3); border: 1px solid var(--line); }
.insp-unit svg { color: var(--friendly); }
.insp-unit.is-sheltered { border-color: rgba(160, 190, 220, 0.4); }
.insp-unit.is-exposed { border-color: rgba(227, 179, 65, 0.45); }
.insp-unit:hover { background: var(--bg-4); color: var(--ink); }

/* Supplies */
.insp-supplies { display: flex; flex-direction: column; gap: 6px; }
.insp-supply { display: grid; grid-template-columns: 112px minmax(0, 1fr) 64px; grid-template-rows: auto auto; align-items: center; column-gap: 8px; }
.insp-supply__k { display: flex; align-items: center; gap: 6px; font-size: var(--fs-sm); color: var(--ink-2); white-space: nowrap; overflow: hidden; }
.insp-supply__k i, .insp-cargo i, .insp-spark__legend i { width: 7px; height: 7px; border-radius: 2px; flex: none; display: inline-block; }
.insp-supply__na { font-size: 10px; }
.insp-supply__v { text-align: right; font-size: 11px; color: var(--ink); display: flex; flex-direction: column; line-height: 1.2; }
.insp-supply__v small { font-size: 9.5px; color: var(--muted); }
.insp-supply__tte { grid-column: 2 / -1; font-size: 10px; color: var(--warn); margin-top: 1px; }

.insp-red { font-size: var(--fs-xs); }
.insp-red b { color: var(--ink); }
.callout.tone-muted { --tone: var(--muted); }
.callout.tone-amber { --tone: var(--amber-2); }
.callout.tone-purple { --tone: var(--purple); }
.insp-status { font-size: var(--fs-sm); }
.insp-status b { color: var(--ink); }

/* Links */
.insp-links { display: flex; flex-direction: column; gap: 2px; }
.insp-link {
  display: flex; align-items: center; gap: 8px; width: 100%; text-align: left;
  padding: 5px 7px; border-radius: var(--r-sm); border: 1px solid transparent;
  font-size: var(--fs-sm); color: var(--ink-2);
}
.insp-link:hover { background: var(--bg-3); border-color: var(--line); color: var(--ink); }
.insp-link__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.insp-link__main svg { display: inline-block; vertical-align: -2px; color: var(--friendly); }
.insp-link__main small { font-size: 10.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.insp-link__aside { flex: none; font-size: 10.5px; }
.insp-line { display: flex; align-items: center; gap: 8px; padding: 3px 7px; font-size: var(--fs-xs); color: var(--ink-2); }
.insp-line .num { color: var(--muted); min-width: 52px; }
.insp-inline { color: var(--blue-2); text-decoration: underline; text-decoration-color: rgba(121, 184, 255, 0.4); text-underline-offset: 2px; }
.insp-inline:hover { color: #fff; }

.insp-cargo { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 4px; font-size: 10.5px; color: var(--ink-2); }
.insp-cargo span { display: inline-flex; align-items: center; gap: 4px; }
.insp-effect { display: flex; align-items: flex-start; gap: 8px; padding: 7px 9px; border-radius: var(--r-sm); border: 1px dashed var(--line-strong); font-size: var(--fs-xs); color: var(--muted); line-height: 1.45; }
.insp-effect svg { flex: none; margin-top: 1px; }
.insp-effect small { color: var(--faint); }
.insp-effect.is-on { border-style: solid; border-color: rgba(88, 166, 255, 0.4); background: rgba(88, 166, 255, 0.06); color: var(--ink-2); }
.insp-effect.is-on svg { color: var(--blue-2); }

/* Supply editors (setup) */
.insp-sups { display: flex; flex-direction: column; gap: 3px; }
.insp-sup { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: var(--fs-sm); color: var(--ink-2); }
.insp-sup .stepper .input { width: 92px; }
.insp-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }

/* Sparkline */
.insp-spark { margin-top: 2px; padding: 8px 8px 6px; border-radius: var(--r-sm); background: var(--bg-1); border: 1px solid var(--line); }
.insp-spark svg { display: block; overflow: visible; }
.insp-spark__line { fill: none; stroke-width: 1.4; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.insp-spark__guide { stroke: rgba(160, 190, 220, 0.12); stroke-dasharray: 2 3; vector-effect: non-scaling-stroke; }
.insp-spark__ph { stroke: var(--ink); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.insp-spark__legend { display: flex; gap: 10px; margin-top: 5px; font-size: 10px; color: var(--muted); }
.insp-spark__legend span { display: inline-flex; align-items: center; gap: 4px; }

/* Impact cards */
.insp-ba { display: flex; }
.insp-ba > button { flex: 1; }
.insp-card { border: 1px solid var(--line); border-radius: var(--r-md); padding: 9px 10px; display: flex; flex-direction: column; gap: 7px; background: rgba(255, 255, 255, 0.012); }
.insp-card__h { display: flex; align-items: center; gap: 7px; font: 600 10px/1 var(--mono); letter-spacing: var(--track); text-transform: uppercase; color: var(--ink-2); }
.insp-card__h svg { color: var(--muted); }
.insp-card__h .insp-sec__note { margin-left: auto; text-transform: none; letter-spacing: 0; font-family: var(--sans); }
.insp-salvo { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.insp-salvo .kpi.tone-bad { --tone: var(--bad); }
.insp-salvo .kpi.tone-blue { --tone: var(--blue-2); }
.insp-table th, .insp-table td { padding: 4px 6px; }
.insp-comps { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 10.5px; color: var(--muted); }

/* ─── After-action card ───────────────────────────────────────────────────── */
.aar { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 10px; background: linear-gradient(180deg, rgba(63, 185, 80, 0.06), transparent 70%); }
.aar-head { display: flex; align-items: flex-start; gap: 8px; }
.aar-head__ico { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--green-a); color: var(--good); flex: none; }
.aar-head__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.aar-head__main .label { color: var(--good); }
.aar-head__id { font-size: var(--fs-xs); color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aar-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 8px; }
.aar-k { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.aar-k .kpi__label { font-size: 9px; }
.aar-v { font: 500 17px/1.1 var(--mono); color: var(--ink); white-space: nowrap; }
.aar-v small { font-size: 10.5px; color: var(--muted); }
.aar-k--hero .aar-v { font-size: 22px; }
.aar-k.tone-good .aar-v { color: var(--good); }
.aar-k.tone-warn .aar-v { color: var(--warn); }
.aar-k.tone-bad .aar-v { color: var(--bad); }
.aar-v.tone-bad { color: var(--bad); }
.aar-d { font: 600 9.5px/1 var(--mono); }
.aar-d.tone-good { color: var(--good); }
.aar-d.tone-bad { color: var(--bad); }
.aar-foot { display: flex; flex-direction: column; gap: 2px; font-size: var(--fs-xs); color: var(--muted); }
.aar-foot b { color: var(--ink-2); }
.aar-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.aar--min { flex-direction: row; align-items: center; padding: 6px 6px 6px 10px; background: rgba(63, 185, 80, 0.05); }
.aar-min { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; font-size: var(--fs-xs); color: var(--ink-2); text-align: left; }
.aar-min > svg:first-child { color: var(--good); }
.aar-min .label { color: var(--good); }
.aar-min__v b { color: var(--ink); }
.aar-min__v.tone-good b { color: var(--good); }
.aar-min__v.tone-warn b { color: var(--warn); }
.aar-min__v.tone-bad b { color: var(--bad); }
.aar-min .grow { flex: 1; }
.aar-pop { max-width: 380px; }
.aar-diffs { display: flex; flex-direction: column; gap: 6px; padding: 4px; }
.aar-diffs ul { list-style: none; display: flex; flex-direction: column; gap: 3px; max-height: 260px; overflow: auto; }
.aar-diff { font-size: var(--fs-xs); color: var(--ink-2); padding-left: 14px; position: relative; }
.aar-diff::before { position: absolute; left: 0; font-family: var(--mono); }
.aar-diff--added::before { content: '+'; color: var(--good); }
.aar-diff--removed::before { content: '−'; color: var(--bad); }
.aar-diff--changed::before { content: '~'; color: var(--warn); }

/* Layout nits */
.insp-link__t { display: block; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.insp-link__t svg { display: inline-block; vertical-align: -2px; color: var(--friendly); margin-right: 2px; }
.insp-card .insp-stats dd { white-space: normal; }
.insp-head__name { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.aar-k .kpi__label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.insp-salvo .kpi__label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
