.integrity-status { display: block; color: #46725f; margin-top: 5px; }
.integrity-status.invalid { color: #9a433b; }

.header-actions { display: flex; align-items: center; gap: 10px; }
.header-actions kbd, .capture-launch kbd { font: 11px/1 ui-monospace, SFMono-Regular, monospace; border: 1px solid currentColor; border-radius: 5px; padding: 3px 5px; opacity: .65; margin-left: 6px; }
.capture-launch { width: 100%; margin: 0 0 22px; text-align: left; color: var(--ink); font: inherit; display: flex; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer; }
.capture-launch:hover { border-color: #8eaa9d; transform: translateY(-1px); }
.capture-launch > span:first-child { display: grid; gap: 3px; }
.capture-launch strong { font: 500 24px/1.25 Georgia, serif; }
.capture-launch small, .capture-explainer { color: var(--muted); }
.capture-launch-action { color: var(--green); font-weight: 800; white-space: nowrap; }
.capture-explainer { margin: 10px 0 0; }
.capture-modal { min-width: 0; }
.dashboard-timeline { grid-column: 1 / -1; }
.dashboard-timeline .timeline { display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; }
.dashboard-timeline .timeline-item:nth-last-child(-n+2) { border-bottom: 0; }
.timeline-item time { text-align: right; }
.timeline-item time span, .timeline-item time small { display: block; }
.capture-toast { position: fixed; right: 24px; bottom: 24px; z-index: 20; max-width: min(420px, calc(100vw - 48px)); background: #1f332c; color: #fff; border-radius: 12px; padding: 13px 16px; box-shadow: 0 18px 50px rgba(0,0,0,.24); }

@media (max-width: 820px) {
  aside { flex-wrap: wrap; overflow: hidden; }
  aside nav { width: 100%; overflow-x: auto; }
  main { min-width: 0; max-width: 100vw; }
  .card, .open-loop { min-width: 0; max-width: 100%; }
  .dashboard-timeline .timeline { grid-template-columns: 1fr; }
  .dashboard-timeline .timeline-item:nth-last-child(2) { border-bottom: 1px solid var(--line); }
  .header-actions { align-items: stretch; flex-direction: column; }
  .header-actions kbd { display: none; }
  .capture-launch { align-items: flex-start; }
}
