/* Virgo Pentest on the shared workspace style (coder-app.css supplies the tokens, shell, sidebar,
   header and composer basics). This file brings the Pentest-only pieces onto the same quiet look and
   neutralises pentest.css's older dark-navy and gradient layers. Scoped to body.pentest-page. */

/* ── Sidebar: same light sidebar as Coder ───────────────────────────────────────────────────────── */
body.pentest-page .pt-sidebar { background: var(--c-side); color: var(--c-text); border-right: 1px solid var(--c-line); }
body.pentest-page .pt-sidebar .brand { color: var(--c-text); }
body.pentest-page .pt-sidebar .brand small { color: var(--c-muted); border-color: var(--c-line-strong); background: none; }
body.pentest-page .pt-sidebar .coder-switch { border-color: var(--c-line); background: var(--c-sunken); }
body.pentest-page .pt-sidebar .coder-switch :is(a, span) { color: var(--c-muted); background: none; box-shadow: none; }
body.pentest-page .pt-sidebar .coder-switch .active { color: var(--c-text); background: var(--c-surface); box-shadow: 0 1px 2px rgb(0 0 0 / .06); }
body.pentest-page .pt-sidebar .coder-newchat { color: var(--c-text); border-color: var(--c-line-strong); background: var(--c-surface); }
body.pentest-page .pt-sidebar .coder-newchat:hover { color: var(--c-text); border-color: var(--c-line-strong); background: var(--c-hover); }
body.pentest-page .pt-sidebar .coder-search-label input { color: var(--c-text); border-color: var(--c-line); background: var(--c-surface); }
body.pentest-page .pt-sidebar .coder-search-label input::placeholder { color: var(--c-faint); }
body.pentest-page .pt-sidebar :is(.coder-recent-label, .coder-recent-empty, .coder-recent-meta) { color: var(--c-faint); }
body.pentest-page .pt-sidebar .coder-recent-label { text-transform: none; letter-spacing: .04em; }
body.pentest-page .pt-sidebar .coder-recent-title { color: var(--c-text); }
body.pentest-page .pt-sidebar .coder-recent-item .open { padding: 6px 8px; border: 0; border-radius: 7px; background: none; box-shadow: none; }
body.pentest-page .pt-sidebar .coder-recent-item .open:hover { background: var(--c-hover); }
body.pentest-page .pt-sidebar .coder-recent-item.active .open { background: var(--c-hover); box-shadow: none; }
body.pentest-page .pt-sidebar .coder-recent-item .del { border: 0; background: none; color: var(--c-faint); }
body.pentest-page .pt-sidebar .coder-theme { border-color: var(--c-line); background: var(--c-sunken); }
body.pentest-page .pt-sidebar .coder-theme button { color: var(--c-muted); }
body.pentest-page .pt-sidebar .coder-theme button[aria-checked="true"] { color: var(--c-text); background: var(--c-surface); }
body.pentest-page .pt-sidebar-note { display: none; } /* the composer footer already states the testing limits */
body.pentest-page .pt-sidebar .coder-sidebar-footer { color: var(--c-faint); border-top-color: var(--c-line); }

/* ── Header: title, model, then quiet actions ───────────────────────────────────────────────────── */
body.pentest-page .pt-head { gap: 8px; }
body.pentest-page .pt-heading .coder-eyebrow, body.pentest-page .pt-security-label { display: none; }
body.pentest-page .pt-model-control {
  display: inline-flex; align-items: center; gap: 6px; height: 30px; max-width: 300px; padding: 0 10px;
  border: 1px solid var(--c-line); border-radius: 8px; background: var(--c-surface); color: var(--c-muted); box-shadow: none;
}
body.pentest-page .pt-model-control svg { width: 14px; height: 14px; flex: none; }
body.pentest-page .pt-model-control select { min-width: 0; max-width: 100%; border: 0; background: none; color: var(--c-text); font-size: .76rem; text-overflow: ellipsis; cursor: pointer; }
body.pentest-page .pt-model-control select:focus { outline: none; }
body.pentest-page :is(.pt-test-model, .pt-inspector-toggle) {
  display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px; border: 0; border-radius: 8px;
  background: none; color: var(--c-muted); font: 500 .74rem var(--sans); box-shadow: none; cursor: pointer;
}
body.pentest-page :is(.pt-test-model, .pt-inspector-toggle):hover:not(:disabled) { background: var(--c-hover); color: var(--c-text); }
body.pentest-page :is(.pt-test-model, .pt-inspector-toggle):disabled { opacity: .45; cursor: default; }
body.pentest-page :is(.pt-test-model, .pt-inspector-toggle) svg { width: 14px; height: 14px; }
body.pentest-page .coder-head .coder-menu { flex: none; }

/* ── Layout: conversation column + report panel ─────────────────────────────────────────────────── */
body.pentest-page .pt-main-wrap, body.pentest-page .coder-main-wrap { background: var(--c-bg); }
body.pentest-page .pt-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; flex: 1; min-height: 0; overflow: hidden; background: none; }
body.pentest-page .pt-chat-column { display: flex; flex-direction: column; min-width: 0; min-height: 0; background: none; border: 0; }
body.pentest-page .pt-chat-scroll { --gutter: max(20px, calc((100% - 720px) / 2)); flex: 1; min-height: 0; overflow-y: auto; padding: 24px var(--gutter); background: none; }

/* Welcome */
body.pentest-page .pt-welcome { max-width: 600px; margin: 4vh auto 0; padding: 0; text-align: center; background: none; }
body.pentest-page .pt-welcome-mark { display: grid; place-items: center; width: 40px; height: 40px; margin: 0 auto 14px; border: 1px solid var(--c-line); border-radius: 11px; background: var(--c-surface); box-shadow: none; }
body.pentest-page .pt-welcome-mark img { width: 24px; height: 24px; }
body.pentest-page .pt-welcome .pt-kicker { display: none; }
body.pentest-page .pt-welcome h1 { margin: 0 0 6px; color: var(--c-text); font: 600 1.45rem/1.25 var(--sans); letter-spacing: -.02em; background: none; -webkit-text-fill-color: currentColor; }
body.pentest-page .pt-welcome > p { margin: 0 auto; color: var(--c-muted); font-size: .86rem; }
body.pentest-page .pt-welcome-foot { margin-top: 16px; color: var(--c-faint); font-size: .7rem; }

/* Target form: one input with its button */
body.pentest-page .platform-target-form { display: grid; gap: 8px; margin: 22px 0 0; padding: 14px; border: 1px solid var(--c-line); border-radius: var(--c-radius); background: var(--c-surface); text-align: left; box-shadow: none; }
body.pentest-page .platform-target-form label { color: var(--c-text); font: 550 .8rem var(--sans); }
body.pentest-page .platform-target-row { display: flex; gap: 8px; }
body.pentest-page .platform-target-row input {
  flex: 1; min-width: 0; height: 36px; padding: 0 12px; border: 1px solid var(--c-line); border-radius: 9px; background: var(--c-sunken); color: var(--c-text); font-size: .84rem;
}
body.pentest-page .platform-target-row input:focus { outline: none; border-color: var(--c-accent); background: var(--c-surface); }
body.pentest-page .platform-target-row button {
  flex: none; height: 36px; padding: 0 14px; border: 0; border-radius: 9px; background: var(--c-text); color: var(--c-bg); font: 550 .8rem var(--sans); cursor: pointer; white-space: nowrap;
}
body.pentest-page .platform-target-row button:hover { opacity: .9; }
body.pentest-page #pt-target-help { margin: 0; color: var(--c-muted); font-size: .72rem; }

/* Starting points */
body.pentest-page .pt-prompt-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
body.pentest-page .pt-prompt {
  position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; min-height: 0; padding: 12px 14px;
  border: 1px solid var(--c-line); border-radius: 10px; background: var(--c-surface); color: var(--c-text); text-align: left; box-shadow: none; cursor: pointer; transform: none;
}
body.pentest-page .pt-prompt:hover { border-color: var(--c-line-strong); background: var(--c-sunken); transform: none; box-shadow: none; }
body.pentest-page .pt-prompt strong { font: 550 .82rem/1.35 var(--sans); }
body.pentest-page .pt-prompt span { color: var(--c-muted); font-size: .74rem; line-height: 1.45; }
body.pentest-page .pt-prompt b { position: absolute; top: 11px; right: 12px; color: var(--c-faint); font-size: .8rem; font-weight: 400; }

/* Messages */
body.pentest-page .pt-messages { display: flex; flex-direction: column; gap: 18px; }
/* One full-width column: the avatar is hidden, so its grid track must go too (otherwise the text
   lands in the 31px avatar column and wraps a few letters per line). */
body.pentest-page .pt-message, body.pentest-page .pt-message.assistant { display: block; grid-template-columns: none; }
body.pentest-page .pt-message.user { display: flex; justify-content: flex-end; }
body.pentest-page .pt-message-body { width: 100%; }
body.pentest-page .pt-message.user .pt-message-body { width: auto; }
body.pentest-page .pt-message-text { overflow-wrap: anywhere; }
body.pentest-page .pt-message-avatar { display: none; }
body.pentest-page .pt-message-body { min-width: 0; color: var(--c-text); font-size: .9rem; line-height: 1.65; }
body.pentest-page .pt-message-meta { color: var(--c-faint); font-size: .7rem; }
body.pentest-page .pt-message.user .pt-message-body, body.pentest-page .pt-message[data-role="user"] .pt-message-body {
  margin-left: auto; max-width: 85%; padding: 8px 14px; border: 0; border-radius: 14px; background: var(--c-sunken);
}
body.pentest-page .pt-message-text :not(pre) > code { padding: .08em .35em; border-radius: 4px; background: var(--c-sunken); font: .85em var(--mono); }
body.pentest-page .pt-message-text pre { padding: 10px 12px; border: 1px solid var(--c-line); border-radius: 9px; background: var(--c-sunken); font: .78rem/1.6 var(--mono); }
body.pentest-page .pt-thinking { color: var(--c-muted); font-size: .76rem; }

/* Report and process cards: plain bordered surfaces */
body.pentest-page :is(.pt-report-card, .pt-process-card, .pt-action-card, .pt-ai-plan, .pt-inspector-target, .pt-inspector-score, .pt-inspector-section, .pt-clean-result) {
  border: 1px solid var(--c-line); border-radius: 10px; background: var(--c-surface); box-shadow: none; background-image: none;
}
body.pentest-page :is(.pt-primary-btn, .pt-full-btn) { border: 0; border-radius: 8px; background: var(--c-text); color: var(--c-bg); font-weight: 550; box-shadow: none; background-image: none; }
body.pentest-page .pt-outline-btn { border: 1px solid var(--c-line-strong); border-radius: 8px; background: var(--c-surface); color: var(--c-text); box-shadow: none; }
body.pentest-page .pt-outline-btn:hover { background: var(--c-hover); }
body.pentest-page .pt-kicker { color: var(--c-faint); font-size: .62rem; letter-spacing: .06em; }

/* Composer */
body.pentest-page .pt-composer-wrap { --gutter: max(20px, calc((100% - 720px) / 2)); flex: none; padding: 0 var(--gutter) 10px; background: none; }
body.pentest-page .pt-composer {
  border: 1px solid var(--c-line-strong); border-radius: 16px; background: var(--c-surface); box-shadow: var(--c-shadow);
}
body.pentest-page .pt-composer:focus-within { border-color: color-mix(in srgb, var(--c-accent) 55%, var(--c-line-strong)); box-shadow: var(--c-shadow); }
body.pentest-page .pt-composer textarea { display: block; width: 100%; min-height: 52px; padding: 12px 14px 4px; border: 0; background: none; color: var(--c-text); font: .9rem/1.55 var(--sans); resize: none; outline: none; }
body.pentest-page .pt-composer textarea::placeholder { color: var(--c-faint); }
body.pentest-page .pt-composer-bar { display: flex; align-items: center; gap: 10px; padding: 4px 8px 8px 14px; }
body.pentest-page .pt-composer-context { display: inline-flex; align-items: center; gap: 6px; color: var(--c-faint); font-size: .7rem; }
body.pentest-page .pt-composer-context svg { width: 13px; height: 13px; }
body.pentest-page .pt-composer-shortcut { display: none; }
body.pentest-page .pt-composer-bar .coder-send {
  display: grid; place-items: center; width: 30px; height: 30px; margin-left: auto; padding: 0; border: 0; border-radius: 9px;
  background: var(--c-text); color: var(--c-bg); box-shadow: none; background-image: none; cursor: pointer;
}
body.pentest-page .pt-composer-bar .coder-send:disabled { background: var(--c-line-strong); color: var(--c-surface); }
body.pentest-page .pt-status { margin: 0; padding: 0 14px 8px; color: var(--c-muted); font-size: .74rem; }
body.pentest-page .pt-status:empty { display: none; }
body.pentest-page .pt-status.error, body.pentest-page .pt-status[data-state="error"] { color: var(--c-danger); }
body.pentest-page .pt-footer-note { margin: 6px 0 0; color: var(--c-faint); font-size: .66rem; text-align: center; }

/* ── Report panel ───────────────────────────────────────────────────────────────────────────────── */
body.pentest-page .pt-inspector { padding: 14px; border: 0; border-left: 1px solid var(--c-line); border-radius: 0; background: var(--c-bg); box-shadow: none; }
body.pentest-page .pt-inspector-head .pt-kicker { display: none; }
body.pentest-page .pt-inspector-head strong { color: var(--c-text); font: 600 .86rem var(--sans); }
body.pentest-page .pt-inspector-close { border: 0; background: none; color: var(--c-muted); }
body.pentest-page .pt-tabs { display: flex; gap: 2px; padding: 2px; border: 1px solid var(--c-line); border-radius: 9px; background: var(--c-sunken); box-shadow: none; }
body.pentest-page .pt-tabs button { flex: 1; padding: 4px 0; border: 0; border-radius: 7px; background: none; color: var(--c-muted); font: 500 .76rem var(--sans); box-shadow: none; cursor: pointer; }
body.pentest-page .pt-tabs button.active, body.pentest-page .pt-tabs button[aria-selected="true"] { background: var(--c-surface); color: var(--c-text); box-shadow: 0 1px 2px rgb(0 0 0 / .06); }
body.pentest-page .pt-inspector-empty > span { border-color: var(--c-line); background: var(--c-surface); color: var(--c-muted); }
body.pentest-page .pt-inspector-empty strong { color: var(--c-text); font-size: .8rem; }
body.pentest-page .pt-inspector-empty p { color: var(--c-muted); font-size: .72rem; }

/* Severity colours keep their meaning; dark mode gets readable pairs. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) body.pentest-page .pt-severity.critical { background: #3d1717; color: #ff9b9b; }
  :root:not([data-theme="light"]) body.pentest-page .pt-severity.high { background: #3a2114; color: #ffb184; }
  :root:not([data-theme="light"]) body.pentest-page .pt-severity.medium { background: #372a10; color: #f2c56b; }
  :root:not([data-theme="light"]) body.pentest-page .pt-severity.low { background: #12301f; color: #7fdaa5; }
  :root:not([data-theme="light"]) body.pentest-page .pt-severity.info { background: #142640; color: #8fb8f0; }
}
:root[data-theme="dark"] body.pentest-page .pt-severity.critical { background: #3d1717; color: #ff9b9b; }
:root[data-theme="dark"] body.pentest-page .pt-severity.high { background: #3a2114; color: #ffb184; }
:root[data-theme="dark"] body.pentest-page .pt-severity.medium { background: #372a10; color: #f2c56b; }
:root[data-theme="dark"] body.pentest-page .pt-severity.low { background: #12301f; color: #7fdaa5; }
:root[data-theme="dark"] body.pentest-page .pt-severity.info { background: #142640; color: #8fb8f0; }

/* ── Narrow screens: the report panel becomes a sheet (pentest.js toggles it) ───────────────────── */
@media (max-width: 1100px) {
  body.pentest-page .pt-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  body.pentest-page .pt-chat-scroll, body.pentest-page .pt-composer-wrap { --gutter: 12px; }
  body.pentest-page .pt-model-control { max-width: 46vw; }
  body.pentest-page :is(.pt-test-model, .pt-inspector-toggle) span { display: none; }
  body.pentest-page :is(.pt-test-model, .pt-inspector-toggle) { width: 30px; padding: 0; justify-content: center; }
  body.pentest-page .platform-target-row { flex-direction: column; }
  body.pentest-page .pt-prompt-grid { grid-template-columns: minmax(0, 1fr); }
  body.pentest-page .pt-prompt span { display: none; }
  body.pentest-page .pt-welcome h1 { font-size: 1.25rem; }
  body.pentest-page .pt-composer textarea { font-size: 16px; }
  body.pentest-page .pt-composer-context { display: none; }
}

/* Older layers' extras: header shadow, page padding around the layout, the glow behind the welcome. */
body.pentest-page .pt-head { box-shadow: none; background: var(--c-bg); border-bottom: 1px solid var(--c-line); }
body.pentest-page .pt-layout { padding: 0; }
body.pentest-page .pt-welcome::before, body.pentest-page .pt-welcome::after { content: none; display: none; }
body.pentest-page .pt-prompt strong { color: var(--c-text); }

/* pentest.css's dark theme paints navy surfaces with :root-prefixed rules; these outrank them. */
html:root body.pentest-page :is(.pt-main-wrap, .pt-layout, .pt-chat-column, .pt-chat-scroll, .pt-composer-wrap) { background: var(--c-bg); background-image: none; }
html:root body.pentest-page .pt-inspector { background: var(--c-bg); background-image: none; border-left-color: var(--c-line); }
html:root body.pentest-page :is(.pt-prompt, .platform-target-form, .pt-composer, .pt-model-control, .pt-report-card, .pt-process-card, .pt-action-card, .pt-inspector-section, .pt-inspector-target) {
  border-color: var(--c-line); background: var(--c-surface); background-image: none; box-shadow: none;
}
html:root body.pentest-page .pt-composer { border-color: var(--c-line-strong); box-shadow: var(--c-shadow); }
html:root body.pentest-page .pt-prompt:hover { background: var(--c-sunken); }
html:root body.pentest-page .pt-tabs { border-color: var(--c-line); background: var(--c-sunken); }
html:root body.pentest-page .pt-tabs button[aria-selected="true"] { background: var(--c-surface); color: var(--c-text); }
html:root body.pentest-page :is(.pt-welcome-mark, .pt-inspector-empty > span) { border-color: var(--c-line); background: var(--c-surface); box-shadow: none; }
html:root body.pentest-page .pt-head { background: var(--c-bg); background-image: none; }
html:root body.pentest-page .pt-head .coder-export { border-color: var(--c-line); background: none; }

@media (max-width: 600px) {
  /* Phone header: menu, title and actions on one line; the model picker gets its own line below. */
  html:root body.pentest-page .pt-head { display: flex; flex-wrap: wrap; gap: 4px 6px; padding: 6px 8px; }
  body.pentest-page .pt-heading { flex: 1; min-width: 0; }
  body.pentest-page .pt-model-control { order: 10; flex: 1 1 100%; max-width: none; height: 32px; }
  body.pentest-page .pt-head :is(.coder-menu, .coder-export, .pt-test-model, .pt-inspector-toggle) { width: 32px; min-width: 32px; height: 32px; min-height: 32px; }
  body.pentest-page .platform-target-row input, body.pentest-page .platform-target-row button { width: 100%; min-height: 40px; height: 40px; font-size: 16px; }
}

/* ── Report: score rings coloured by risk (the panel ring had only a green rule, so 74/100 "High risk"
   showed green), quieter headings, compact buttons ─────────────────────────────────────────────── */
body.pentest-page { --pt-ok: #16803c; --pt-warn: #b7791f; --pt-high: #c2410c; --pt-crit: #b42318; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) body.pentest-page { --pt-ok: #5fd08a; --pt-warn: #f2c56b; --pt-high: #ffb184; --pt-crit: #ff9b9b; } }
:root[data-theme="dark"] body.pentest-page { --pt-ok: #5fd08a; --pt-warn: #f2c56b; --pt-high: #ffb184; --pt-crit: #ff9b9b; }
html:root body.pentest-page :is(.pt-score-ring, .pt-inspector-score-ring) { border-width: 4px; background: none; box-shadow: none; }
html:root body.pentest-page :is(.pt-score-ring, .pt-inspector-score-ring).good { border-color: var(--pt-ok); color: var(--pt-ok); }
html:root body.pentest-page :is(.pt-score-ring, .pt-inspector-score-ring).medium { border-color: var(--pt-warn); color: var(--pt-warn); }
html:root body.pentest-page :is(.pt-score-ring, .pt-inspector-score-ring).high { border-color: var(--pt-high); color: var(--pt-high); }
html:root body.pentest-page :is(.pt-score-ring, .pt-inspector-score-ring).critical { border-color: var(--pt-crit); color: var(--pt-crit); }
html:root body.pentest-page :is(.pt-score-ring, .pt-inspector-score-ring) b { color: var(--c-text); }
html:root body.pentest-page :is(.pt-score-ring, .pt-inspector-score-ring) small { color: var(--c-faint); }

html:root body.pentest-page :is(.pt-report-section-title, .pt-panel-title, .pt-inspector-section-title, .pt-ai-plan-head strong, .pt-finding-row strong, .pt-report-card-head strong, .pt-severity-line span) { color: var(--c-text); }
html:root body.pentest-page .pt-ai-plan-head { color: var(--c-text); }
html:root body.pentest-page .pt-process-card { border-left: 1px solid var(--c-line); }
html:root body.pentest-page .pt-process-node { border-color: var(--c-line); background: var(--c-sunken); color: var(--c-muted); }
html:root body.pentest-page .pt-process-state { color: var(--pt-ok); }
html:root body.pentest-page .pt-finding-row { grid-template-columns: auto minmax(0, 1fr); gap: 4px 12px; }
html:root body.pentest-page :is(.pt-full-btn, .pt-primary-btn, .pt-outline-btn) { min-height: 32px; padding: 6px 12px; font: 550 .78rem var(--sans); }
html:root body.pentest-page .pt-full-btn { width: 100%; border: 1px solid var(--c-line-strong); background: var(--c-surface); color: var(--c-text); }
html:root body.pentest-page .pt-full-btn:hover { background: var(--c-hover); }
html:root body.pentest-page .pt-inspector-foot { color: var(--c-faint); font-size: .68rem; }
html:root body.pentest-page .pt-process-card::before { content: none; display: none; }

/* pentest.css's dark theme paints report pieces navy (:root[data-theme] / prefers-dark rules): one
   neutral surface for all of them, in both dark modes. */
html:root:root body.pentest-page :is(.pt-finding-row, .pt-report-card, .pt-report-subpanel, .pt-metric, .pt-score-metric, .pt-inspector-score, .pt-inspector-section, .pt-inspector-target, .pt-ai-plan, .pt-action-card, .pt-dns-row, .pt-consent, .pt-disclaimer, .pt-detail-line) {
  border-color: var(--c-line); background: var(--c-surface); background-image: none; box-shadow: none; color: var(--c-text);
}
html:root:root body.pentest-page :is(.pt-report-card-head, .pt-report-head-copy, .pt-ai-plan-head, .pt-panel-title, .pt-inspector-copy, .pt-action-copy) { background: none; color: var(--c-text); }
html:root:root body.pentest-page :is(.pt-inspector-copy, .pt-action-copy, .pt-detail-line) small { color: var(--c-muted); }
html:root:root body.pentest-page .pt-message-avatar { display: none; }

/* iPhone Home Screen app: header clear of the status bar; composer above the home indicator. */
html:root body.pentest-page .pt-head { padding-top: max(6px, env(safe-area-inset-top)); }
body.pentest-page .pt-composer-wrap { padding-bottom: max(10px, env(safe-area-inset-bottom)); }

/* ── Formal finding detail blocks (report card + Evidence tab) ──────────────────────────────────── */
body.pentest-page .pt-finding { margin: 8px 0; border: 1px solid var(--c-line); border-radius: 10px; background: var(--c-surface); overflow: hidden; }
body.pentest-page .pt-finding > summary { display: flex; align-items: center; gap: 10px; padding: 10px 12px; cursor: pointer; list-style: none; }
body.pentest-page .pt-finding > summary::-webkit-details-marker { display: none; }
body.pentest-page .pt-finding > summary::after { content: ""; margin-left: auto; width: 7px; height: 7px; border: solid var(--c-faint); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); transition: transform .15s; }
body.pentest-page .pt-finding[open] > summary::after { transform: rotate(-135deg); }
body.pentest-page .pt-finding-title { font: 550 .84rem var(--sans); color: var(--c-text); }
body.pentest-page .pt-finding-conf { margin-left: 4px; color: var(--c-faint); font-size: .66rem; text-transform: uppercase; letter-spacing: .04em; }
body.pentest-page .pt-finding-body { padding: 0 14px 14px; border-top: 1px solid var(--c-line); }
body.pentest-page .pt-finding-body > p { color: var(--c-muted); font-size: .82rem; line-height: 1.55; margin: 10px 0; }
body.pentest-page .pt-finding-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; }
body.pentest-page .pt-finding-tag { padding: 2px 8px; border: 1px solid var(--c-line); border-radius: 6px; background: var(--c-sunken); color: var(--c-muted); font: 500 .68rem var(--mono); }
body.pentest-page .pt-finding-block { margin-top: 12px; }
body.pentest-page .pt-finding-block h5 { margin: 0 0 6px; color: var(--c-text); font: 600 .72rem var(--sans); letter-spacing: .02em; text-transform: uppercase; }
body.pentest-page .pt-finding-block :is(p, li) { color: var(--c-muted); font-size: .82rem; line-height: 1.55; }
body.pentest-page .pt-finding-block :is(ol, ul) { margin: 0; padding-left: 1.3em; }
body.pentest-page .pt-finding-block li { margin: 3px 0; }
body.pentest-page .pt-evidence-line { display: grid; grid-template-columns: 74px 1fr; gap: 8px; align-items: start; margin: 4px 0; }
body.pentest-page .pt-evidence-line > span { color: var(--c-faint); font-size: .7rem; padding-top: 2px; }
body.pentest-page .pt-evidence-line > code { font: .74rem/1.5 var(--mono); color: var(--c-text); background: var(--c-sunken); border: 1px solid var(--c-line); border-radius: 6px; padding: 4px 8px; overflow-wrap: anywhere; }
body.pentest-page .pt-finding-refs { word-break: break-all; }
body.pentest-page .pt-finding-refs a { color: var(--c-accent); font-size: .76rem; }
body.pentest-page .pt-evidence-list .pt-finding { background: var(--c-surface); }
body.pentest-page .pt-exec-summary { margin: 10px 0; } body.pentest-page .pt-exec-summary p { margin: 6px 0 0; color: var(--c-muted); font-size: .84rem; line-height: 1.6; }
