/* ══════════════════════════════════════════════════════════════════════════
   SSH runner — command approval card, live terminal card, tool-state borders.
   Used by the devsSsh tool (unlocked by the "SSH Server Connect" playbook).
   Extracted from the removed Developer Mode stylesheet; nothing here depends
   on a body class, so it applies wherever those cards are rendered.
   ══════════════════════════════════════════════════════════════════════════ */
/* ── Tool blocks: clean, borderless, matching core Delphos UI ──────────── */
.tool-block,
.tool-block.tool-running,
.tool-block.tool-ok,
.tool-block.tool-err {
    border-left: none !important;
}

/* devsSsh tool blocks: clean integrated terminal layout */
.tool-block[data-tool-kind="sshcmd"] .tool-results {
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: none !important;
    max-height: none !important;
    overflow: visible !important;
}
.tool-block[data-tool-kind="sshcmd"] .tool-results .results-list { padding: 0; }
.tool-block[data-tool-kind="sshcmd"] { margin: 6px 0 !important; }

/* ── Approval card ───────────────────────────────────────────────────────── */
.dev-approval-card {
    margin: 12px 0;
    padding: 16px;
    border-radius: 12px;
    border: 1px solid rgba(245, 158, 11, 0.24);
    background: linear-gradient(180deg, #141822 0%, #0d1118 100%);
    color: var(--text-color, #e9e9ef);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
}
.dev-approval-card.apv-critical {
    border-color: rgba(239, 68, 68, 0.35);
    background: linear-gradient(180deg, #1a1215 0%, #0f0a0d 100%);
}
.dev-approval-card .apv-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.dev-approval-card .apv-head-left {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    flex: 1;
    min-width: 0;
}
.dev-approval-card .apv-icon-wrap {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.dev-approval-card.apv-critical .apv-icon-wrap {
    background: rgba(239, 68, 68, 0.14);
    border-color: rgba(239, 68, 68, 0.3);
}
.dev-approval-card .apv-icon-wrap .material-symbols-rounded {
    font-size: 20px;
    color: #f59e0b;
}
.dev-approval-card.apv-critical .apv-icon-wrap .material-symbols-rounded {
    color: #ef4444;
}
.dev-approval-card .apv-copy { flex: 1; min-width: 0; }
.dev-approval-card .apv-title {
    display: block;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: -0.01em;
    color: #f1f5f9;
}
.dev-approval-card .apv-desc {
    display: block;
    font-size: 12.5px;
    color: var(--subheading-color, #94a3b8);
    margin-top: 3px;
    line-height: 1.4;
}
.apv-risk-badge {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.12);
    color: #f59e0b;
    border: 1px solid rgba(245, 158, 11, 0.25);
    flex-shrink: 0;
}
.apv-risk-badge.apv-risk-critical {
    background: rgba(239, 68, 68, 0.15);
    color: #f87171;
    border-color: rgba(239, 68, 68, 0.35);
}
.dev-approval-card .apv-cmd-box {
    margin-top: 12px;
    background: #080c12;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    overflow: hidden;
}
.dev-approval-card .apv-cmd-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 10px;
    background: rgba(255, 255, 255, 0.03);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 11.5px;
    color: #94a3b8;
}
.dev-approval-card .apv-cmd-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
}
.dev-approval-card .apv-cmd-label .material-symbols-rounded { font-size: 15px; color: #38bdf8; }
.dev-approval-card .apv-server-tag {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    color: #cbd5e1;
    background: rgba(255, 255, 255, 0.06);
    padding: 2px 7px;
    border-radius: 5px;
}
.dev-approval-card .apv-server-tag .material-symbols-rounded { font-size: 13px; color: #a78bfa; }
.dev-approval-card .apv-cmd-code {
    margin: 0;
    padding: 10px 12px;
    white-space: pre-wrap;
    word-break: break-all;
    font-family: "JetBrains Mono", "Cascadia Code", Consolas, monospace;
    font-size: 13px;
    line-height: 1.5;
    color: #38bdf8;
    max-height: 160px;
    overflow-y: auto;
}
.dev-approval-card .apv-actions {
    margin-top: 14px;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}
.dev-approval-card .apv-actions button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
}
.dev-approval-card .apv-actions button:disabled { opacity: 0.45; cursor: default; }
.dev-approval-card .apv-actions button .material-symbols-rounded { font-size: 17px; }
.dev-approval-card .apv-deny {
    background: transparent;
    color: #f87171;
    border: 1px solid rgba(239, 68, 68, 0.35);
}
.dev-approval-card .apv-deny:hover:not(:disabled) {
    background: rgba(239, 68, 68, 0.1);
    border-color: #ef4444;
}
.dev-approval-card .apv-approve {
    background: #10b981;
    color: #ffffff;
    border: 1px solid #10b981;
    box-shadow: 0 2px 10px rgba(16, 185, 129, 0.25);
}
.dev-approval-card .apv-approve:hover:not(:disabled) {
    background: #059669;
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.4);
}
.dev-approval-card .apv-state {
    margin-top: 12px;
    font-size: 13px;
    padding: 9px 12px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.dev-approval-card .apv-state .material-symbols-rounded { font-size: 18px; }
.dev-approval-card .apv-state.ok {
    background: rgba(16, 185, 129, 0.12);
    color: #34d399;
    border: 1px solid rgba(16, 185, 129, 0.25);
}
.dev-approval-card .apv-state.err {
    background: rgba(239, 68, 68, 0.12);
    color: #f87171;
    border: 1px solid rgba(239, 68, 68, 0.25);
}

/* ── SSH terminal card ───────────────────────────────────────────────────── */
/* ── SSH / PC terminal card (unified single console component) ───────────
   Built from the app's own surface tokens (warm in the default theme, light in
   light mode) instead of a fixed navy, so it reads as part of the chat rather
   than a pasted-in widget. */
.ssh-result-card {
    --term-bg: color-mix(in srgb, var(--primary-color, #1f1e1c) 72%, #000 28%);
    --term-bar: var(--light-dark-background, #242321);
    --term-line: var(--border-color, rgba(245, 238, 230, 0.1));
    display: flex;
    flex-direction: column;
    margin: 4px 0;
    background: var(--term-bar);
    border: 1px solid var(--term-line);
    border-radius: 12px;
    overflow: hidden;
}
body.light_mode .ssh-result-card { --term-bg: color-mix(in srgb, var(--primary-color, #fff) 97%, #000 3%); }
.ssh-cmd-bar {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 9px 12px;
}
.ssh-result-card .ssh-prompt {
    font-size: 16px;
    color: var(--subheading-color, #aaa39b);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    height: 20px;
}
.ssh-cmd-body {
    flex: 1;
    min-width: 0;
    /* Long commands wrap (up to ~4 lines, then scroll) instead of hiding
       behind a horizontal scrollbar. */
    max-height: 5.8em;
    overflow-y: auto;
    scrollbar-width: thin;
}
.ssh-cmd-text {
    font-family: "JetBrains Mono", "Cascadia Code", Consolas, monospace !important;
    font-size: 12.5px !important;
    line-height: 1.6 !important;
    color: var(--text-color, #eeeae5) !important;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}
.ssh-result-card .ssh-side {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-shrink: 0;
}
.ssh-copy-btn, .ssh-copy-out-btn {
    background: transparent;
    border: 1px solid transparent;
    color: var(--subheading-color, #aaa39b);
    padding: 3px 6px;
    border-radius: 5px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.12s ease;
}
.ssh-copy-btn:hover, .ssh-copy-out-btn:hover {
    background: var(--hover-bg, rgba(255, 255, 255, 0.06));
    color: var(--text-color, #eeeae5);
}
.ssh-copy-btn .material-symbols-rounded, .ssh-copy-out-btn .material-symbols-rounded { font-size: 13px; }
.ssh-state {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 22px;
    font-size: 11.5px;
    font-weight: 600;
    padding: 0 9px;
    border-radius: 999px;
    white-space: nowrap;
}
.ssh-state .material-symbols-rounded { font-size: 14px; }
.ssh-state-running {
    background: var(--hover-bg, rgba(255, 255, 255, 0.06));
    color: var(--subheading-color, #aaa39b);
    border: 1px solid transparent;
}
.ssh-state-approval {
    background: var(--accent-soft, rgba(183, 121, 92, 0.14));
    color: var(--accent, #b7795c);
    border: 1px solid transparent;
}
.ssh-state-ok {
    background: rgba(16, 185, 129, 0.12);
    color: #34d399;
    border: 1px solid rgba(16, 185, 129, 0.28);
}
.ssh-state-err {
    background: rgba(239, 68, 68, 0.12);
    color: #f87171;
    border: 1px solid rgba(239, 68, 68, 0.28);
}
.ssh-state-blocked {
    background: rgba(245, 158, 11, 0.12);
    color: #fbbf24;
    border: 1px solid rgba(245, 158, 11, 0.28);
}
.ssh-state-denied {
    background: rgba(239, 68, 68, 0.12);
    color: #f87171;
    border: 1px solid rgba(239, 68, 68, 0.28);
}
.ssh-state-killed {
    background: rgba(239, 68, 68, 0.12);
    color: #f87171;
    border: 1px solid rgba(239, 68, 68, 0.28);
}
.ssh-spin {
    font-size: 12px;
    display: inline-block;
    animation: ssh-spin 1s linear infinite;
}
@keyframes ssh-spin { to { transform: rotate(360deg); } }

.ssh-kill {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    height: 22px;
    padding: 0 9px 0 6px;
    border-radius: 999px;
    border: 1px solid var(--border-color, rgba(245, 238, 230, 0.12));
    background: transparent;
    color: var(--text-color, #eeeae5);
    font-size: 11.5px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}
.ssh-kill:hover:not(:disabled) {
    background: rgba(229, 72, 77, 0.12);
    border-color: rgba(229, 72, 77, 0.4);
    color: #ef6b6f;
}
.ssh-kill:disabled { opacity: 0.5; cursor: default; }
.ssh-kill[hidden] { display: none !important; }
.ssh-kill .material-symbols-rounded { font-size: 13px; }

/* Terminal output area (directly attached) */
.ssh-output-box {
    background: var(--term-bg, #141312);
    border-top: 1px solid var(--term-line, rgba(245, 238, 230, 0.1));
    overflow: hidden;
}
.ssh-output-box[hidden] { display: none; }
.ssh-output-box .ssh-output {
    margin: 0;
    padding: 10px 14px 12px;
    max-height: 320px;
    overflow: auto;
    font-family: "JetBrains Mono", "Cascadia Code", Consolas, monospace;
    font-size: 12px;
    line-height: 1.55;
    color: var(--text-color, #eeeae5);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    background: transparent;
    scrollbar-width: thin;
}
.ssh-output-box .ssh-output code { background: transparent; padding: 0; font: inherit; color: inherit; white-space: inherit; }
.ssh-output-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 12px 0;
    font-size: 11px;
    color: var(--subheading-color, #aaa39b);
}
.ssh-output-title {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 500;
}
.ssh-output-title .material-symbols-rounded { font-size: 13px; color: var(--subheading-color, #aaa39b); }

.ssh-result-card .ssh-output-empty { opacity: 0.4; }
.ssh-result-card .ssh-live-err { color: #f87171 !important; }

/* Subtle notice inside terminal header */
.ssh-result-card .ssh-note {
    font-size: 11.5px;
    line-height: 1.35;
    padding: 5px 12px;
    background: rgba(245, 158, 11, 0.07);
    color: #fbbf24;
    border-bottom: 1px solid rgba(245, 158, 11, 0.15);
    display: flex;
    align-items: center;
    gap: 6px;
}
.ssh-result-card .ssh-note .material-symbols-rounded { font-size: 14px; }
.ssh-result-card .ssh-note-err {
    background: rgba(239, 68, 68, 0.08);
    color: #f87171;
    border-bottom: 1px solid rgba(239, 68, 68, 0.18);
}

/* ── Work mode: "Run this on <PC>?" — the terminal card's own footer ─────────
   One card per command. The question sits under the command it is about; Run
   is the one filled button (the app accent), Skip is quiet. The only colour
   that ever shouts is the critical tint, and only for destructive commands. */
.wsa {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px 12px;
    border-top: 1px solid var(--term-line, var(--border-color, rgba(245, 238, 230, 0.1)));
    background: var(--term-bar, var(--light-dark-background, #242321));
    animation: wsa-in 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes wsa-in { from { opacity: 0; transform: translateY(-3px); } }
/* Stand-alone (no terminal card to sit in: a reconnect mid-question). */
.wsa.wsa-standalone {
    margin: 8px 0;
    border: 1px solid var(--border-color, rgba(245, 238, 230, 0.1));
    border-radius: 12px;
}
.wsa-cmd {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: var(--subheading-color, #aaa39b);
}
.wsa-cmd .material-symbols-rounded { font-size: 16px; line-height: 20px; }
.wsa-cmd code {
    font-family: "JetBrains Mono", "Cascadia Code", Consolas, monospace;
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--text-color, #eeeae5);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    background: transparent;
    padding: 0;
}
.wsa-row {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.wsa-copy {
    flex: 1 1 240px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.wsa-q {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--text-color, #eeeae5);
}
.wsa-q b { font-weight: 700; }
.wsa-why {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--subheading-color, #aaa39b);
}
.wsa-why .material-symbols-rounded { font-size: 15px; line-height: 18px; }
.wsa-acts {
    display: flex;
    gap: 8px;
    margin-left: auto;
}
.wsa-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    height: 32px;
    min-width: 64px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid var(--border-color, rgba(245, 238, 230, 0.12));
    background: transparent;
    color: var(--text-color, #eeeae5);
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.14s ease, border-color 0.14s ease, transform 0.06s ease;
}
.wsa-btn .material-symbols-rounded { font-size: 18px; margin-left: -3px; }
.wsa-btn:hover:not(:disabled) { background: var(--hover-bg, rgba(255, 255, 255, 0.06)); }
.wsa-btn:active:not(:disabled) { transform: translateY(1px); }
.wsa-btn:focus-visible { outline: 2px solid var(--accent-ring, rgba(183, 121, 92, 0.4)); outline-offset: 2px; }
.wsa-btn:disabled { opacity: 0.5; cursor: default; }
.wsa-run {
    background: var(--accent, #b7795c);
    border-color: var(--accent, #b7795c);
    color: var(--accent-contrast, #fff);
}
.wsa-run:hover:not(:disabled) { background: var(--accent-strong, #975d46); border-color: var(--accent-strong, #975d46); }
/* "Allow always": a quieter second yes, so "once" stays the obvious default. */
.wsa-always { color: var(--accent, #b7795c); border-color: var(--accent-ring, rgba(183, 121, 92, 0.4)); }
.wsa-always:hover:not(:disabled) { background: var(--accent-soft, rgba(183, 121, 92, 0.13)); }
.wsa-acts { flex-wrap: wrap; justify-content: flex-end; }

.wsa-risky .wsa-why { color: #d9a441; }
body.light_mode .wsa-risky .wsa-why { color: #9a6a0b; }
.wsa-critical { background: color-mix(in srgb, #e5484d 8%, var(--term-bar, #242321)); }
.wsa-critical .wsa-q, .wsa-critical .wsa-why { color: #ef6b6f; }
body.light_mode .wsa-critical .wsa-q, body.light_mode .wsa-critical .wsa-why { color: #c42b31; }
.wsa-critical .wsa-run { background: #d93d42; border-color: #d93d42; color: #fff; }
.wsa-critical .wsa-run:hover:not(:disabled) { background: #b8292e; border-color: #b8292e; }

.wsa.wsa-done {
    flex-direction: row;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    color: var(--subheading-color, #aaa39b);
    padding: 8px 12px;
}
.wsa.wsa-done .material-symbols-rounded { font-size: 16px; }

/* While the card is asking, its (empty) output area and the Kill button stay out of the way. */
.ssh-result-card.is-asking .ssh-output-box:has(.ssh-output-empty) { display: none; }

@media (max-width: 560px) {
    .wsa-acts { width: 100%; }
    .wsa-btn { flex: 1; }
}
@media (prefers-reduced-motion: reduce) { .wsa { animation: none; } }

/* ═══════════════════════════════════════════════════════════════════════════
   Terminal card, compact (v2). Overrides the block above.

   1. Isolation. The chat's markdown styles (`.message-content .text code` and
      `… pre`, chat-stream.css) out-rank the card's own rules, which turned the
      output into an inline-code chip inside a second bordered box — the
      "bulky double frame". Everything inside a terminal card is reset here.
   2. One surface: `$ command` on the first line, the output straight under it,
      the exit status as a small tinted label, the card edge tinted by status
      (amber running, green ok, red failed). Copy buttons appear on hover.
   ═══════════════════════════════════════════════════════════════════════════ */
.ssh-result-card pre,
.ssh-result-card code:not(.hljs),
.wsa pre,
.wsa code:not(.hljs) {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: "JetBrains Mono", "Cascadia Code", Consolas, ui-monospace, monospace !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.ssh-result-card {
    --term-tone: var(--term-line);
    background: var(--term-bg);
    border-color: var(--term-tone);
    border-radius: 10px;
    font-size: 12.5px;
    transition: border-color 0.2s ease;
}
.ssh-result-card.is-running { --term-tone: color-mix(in srgb, #e0a53c 42%, var(--term-line)); }
.ssh-result-card.is-ok { --term-tone: color-mix(in srgb, #3fb68b 26%, var(--term-line)); }
.ssh-result-card.is-err { --term-tone: color-mix(in srgb, #ef6b6f 36%, var(--term-line)); }
.ssh-result-card.is-warn { --term-tone: color-mix(in srgb, #e0a53c 36%, var(--term-line)); }

.ssh-result-card .ssh-cmd-bar { align-items: flex-start; gap: 8px; padding: 7px 8px 7px 12px; }
.ssh-result-card .ssh-prompt {
    height: 20px;
    font: 600 12.5px/20px "JetBrains Mono", "Cascadia Code", Consolas, ui-monospace, monospace;
    color: var(--accent, #b7795c);
    user-select: none;
}
.ssh-result-card .ssh-prompt.material-symbols-rounded { font: normal 16px/20px 'Material Symbols Rounded'; color: var(--subheading-color, #aaa39b); }
.ssh-result-card .ssh-cmd-text {
    font-size: 12.5px !important;
    font-weight: 500 !important;
    line-height: 20px !important;
    color: var(--text-color, #eeeae5) !important;
}
.ssh-result-card .ssh-side { gap: 2px; height: 20px; }

.ssh-result-card .ssh-copy-btn,
.ssh-result-card .ssh-copy-out-btn {
    width: 24px;
    height: 22px;
    padding: 0;
    border-radius: 6px;
    opacity: 0;
    transition: opacity 0.12s ease, background 0.12s ease, color 0.12s ease;
}
.ssh-result-card:hover .ssh-copy-btn,
.ssh-result-card .ssh-output-box:hover .ssh-copy-out-btn,
.ssh-result-card .ssh-copy-btn:focus-visible,
.ssh-result-card .ssh-copy-out-btn:focus-visible { opacity: 1; }
@media (hover: none) { .ssh-result-card .ssh-copy-btn, .ssh-result-card .ssh-copy-out-btn { opacity: 0.8; } }
.ssh-result-card .ssh-copy-btn .material-symbols-rounded,
.ssh-result-card .ssh-copy-out-btn .material-symbols-rounded { font-size: 14px; }

/* Status: a small tinted label, not a bordered pill. */
.ssh-state {
    height: 20px;
    gap: 3px;
    padding: 0 7px 0 5px;
    border: 0 !important;
    border-radius: 6px;
    font: 600 11px/20px "JetBrains Mono", "Cascadia Code", Consolas, ui-monospace, monospace;
    letter-spacing: 0.01em;
}
.ssh-state .material-symbols-rounded { font-size: 13px; }
.ssh-state-running { background: color-mix(in srgb, #e0a53c 12%, transparent); color: #d9a441; }
.ssh-state-approval { background: color-mix(in srgb, var(--accent, #b7795c) 14%, transparent); color: var(--accent, #b7795c); }
.ssh-state-ok { background: color-mix(in srgb, #3fb68b 12%, transparent); color: #3fb68b; }
.ssh-state-err, .ssh-state-denied, .ssh-state-killed { background: color-mix(in srgb, #ef6b6f 12%, transparent); color: #ef6b6f; }
.ssh-state-blocked { background: color-mix(in srgb, #e0a53c 12%, transparent); color: #d9a441; }
body.light_mode .ssh-state-ok { color: #1f8a5f; }
body.light_mode .ssh-state-err, body.light_mode .ssh-state-denied, body.light_mode .ssh-state-killed { color: #c42b31; }
body.light_mode .ssh-state-running, body.light_mode .ssh-state-blocked { color: #9a6a0b; }

.ssh-result-card .ssh-kill { height: 20px; padding: 0 8px 0 5px; border-radius: 6px; font-size: 11px; }

/* Output: same surface, a hairline under the prompt line. */
.ssh-result-card .ssh-output-box {
    position: relative;
    background: transparent;
    border-top: 1px solid color-mix(in srgb, var(--term-line) 70%, transparent);
}
.ssh-result-card .ssh-output-box .ssh-output {
    padding: 8px 36px 10px 12px !important;
    max-height: 320px;
    overflow: auto;
    font-size: 12px !important;
    line-height: 1.6 !important;
    color: color-mix(in srgb, var(--text-color, #eeeae5) 86%, transparent) !important;
}
.ssh-result-card .ssh-copy-out-btn { position: absolute; top: 5px; right: 6px; z-index: 1; background: var(--term-bg); }
.ssh-result-card .ssh-output-header { display: none; }
.ssh-result-card .ssh-live-err { color: #ef6b6f !important; }

/* Notes (blocked / denied / killed): one quiet line above the prompt. */
.ssh-result-card .ssh-note {
    padding: 6px 12px;
    font-size: 12px;
    background: transparent;
    border-bottom: 1px solid color-mix(in srgb, var(--term-line) 70%, transparent);
}
.ssh-result-card .ssh-note-err { background: transparent; }

/* The workProcess card's collapsible output keeps its own padding. */
.ssh-result-card .wlp-out .ssh-output { padding: 8px 12px 10px !important; font-size: 12px !important; line-height: 1.6 !important; }
.wsa-cmd code { font-size: 12.5px !important; line-height: 1.6 !important; color: var(--text-color, #eeeae5) !important; }
