
.af-jobs { margin-block: var(--sp-2); padding: var(--sp-2) var(--sp-3); border: 1px solid var(--line); border-radius: var(--r-card); background: var(--panel-2); }
.af-jobs-h { font-size: var(--fs-sm); font-weight: 600; margin: 0 0 var(--sp-1); }
.af-jobs-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-1); }
.af-job { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; font-size: var(--fs-sm); }
.af-job-name { font-weight: 600; overflow-wrap: anywhere; }
.af-job-status { color: var(--text-2); }
.af-job.failed .af-job-status { color: var(--danger); }
.af-job-bar { inline-size: 120px; block-size: 8px; }
.db-new-more { padding-inline: var(--sp-2); margin-inline-start: -2px; }

.af-drop-on { outline: 2px dashed var(--accent); outline-offset: -4px; position: relative; }
.af-drop-on::after { content: attr(data-drop-hint); position: absolute; inset-block-start: var(--sp-3); inset-inline: 0; margin-inline: auto; inline-size: max-content;
  max-inline-size: 90%; padding: var(--sp-2) var(--sp-3); border-radius: var(--r-pill); background: var(--accent); color: var(--on-fill);
  font-size: var(--fs-sm); pointer-events: none; }

.af-tools { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); margin-block-end: var(--sp-2); }
.af-version-l { display: inline-flex; align-items: center; gap: var(--sp-1); font-size: var(--fs-sm); }
.af-version { min-inline-size: 16em; }
.af-facts { display: grid; grid-template-columns: max-content 1fr; gap: var(--sp-1) var(--sp-3); margin: 0 0 var(--sp-2); font-size: var(--fs-sm); }
.af-facts dt { color: var(--text-2); }
.af-facts dd { margin: 0; overflow-wrap: anywhere; }
.af-removed { color: var(--warn); }
.af-pending { padding: var(--sp-1) var(--sp-2); border-radius: var(--r-ctl); background: var(--info-bg); color: var(--info); font-size: var(--fs-sm); margin-block-end: var(--sp-2); }
.af-pending[hidden] { display: none; }
.af-view-head { display: flex; flex-wrap: wrap; gap: var(--sp-2); align-items: center; margin-block-end: var(--sp-2); }
.af-tabs { display: inline-flex; gap: var(--sp-1); }
.af-tabs [aria-pressed="true"] { background: var(--sel-bg); border-color: var(--sel-edge); }
.af-pin-hint { color: var(--info); margin-block: 0 var(--sp-2); }

.af-pages { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-3); max-block-size: 75vh; overflow: auto; }
.af-page-no { margin-block-end: var(--sp-1); }
.af-page { position: relative; inline-size: min(100%, 800px); border: 1px solid var(--line); background: #fff; }
.af-page.pinning { cursor: crosshair; }
.af-page-img { display: block; inline-size: 100%; block-size: auto; }
.af-page-none { padding: var(--sp-5); color: var(--text-3); text-align: center; background: var(--surface-2); }
.af-pin { position: absolute; transform: translate(-50%, -50%); inline-size: 24px; block-size: 24px; border-start-start-radius: 50%; border-start-end-radius: 50%; border-end-end-radius: 50%; border-end-start-radius: 0; border: 2px solid var(--on-fill);
  background: var(--amber); color: var(--brand-900); font-size: var(--fs-xs); font-weight: 700; line-height: 1; cursor: pointer; box-shadow: var(--shadow); padding: 0; }
.af-pin:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
[dir="rtl"] .af-pin { transform: translate(50%, -50%); }

.af-pdf-obj { inline-size: 100%; block-size: 75vh; border: 0; }

.af-doc { max-block-size: 75vh; overflow: auto; padding: var(--sp-3); border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); }
.af-doc-para { position: relative; padding-inline-end: 32px; border-radius: var(--r-sm); }
.af-doc-para.pinning { cursor: crosshair; }
.af-doc-para.pinning:hover, .af-doc-para.pinning:focus-visible { background: var(--hover-bg); }
.af-pin.af-pin-para { position: absolute; inset-inline-end: 0; inset-block-start: 2px; transform: none; }
.af-doc-table td { border: 1px solid var(--line); padding: var(--sp-1) var(--sp-2); }

.af-pin-ref { margin-block-start: var(--sp-1); }
.comment.af-flash { outline: 2px solid var(--amber); outline-offset: 2px; }
.af-remove-list { border: 0; padding: 0; margin: 0 0 var(--sp-2); display: grid; gap: var(--sp-1); }

.pr-root { display: flex; flex-direction: column; gap: var(--sp-2); min-block-size: 0; }
.pr-inline { block-size: 78vh; min-block-size: 420px; }
.pr-full { block-size: calc(100vh - 150px); min-block-size: 420px; }
.pr-popout { block-size: 100vh; padding: var(--sp-2); box-sizing: border-box; }
.pr-popout-body { margin: 0; background: var(--bg); color: var(--text); }
.pr-full-page { padding-block: var(--sp-2); }
.pr-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-3); padding: var(--sp-1) var(--sp-2); border: 1px solid var(--line); border-radius: var(--r-card); background: var(--panel-2); }
.pr-grp { display: inline-flex; align-items: center; gap: var(--sp-1); }
.pr-bar [aria-pressed="true"] { background: var(--sel-bg); border-color: var(--sel-edge); }
.pr-page-l { display: inline-flex; align-items: center; gap: var(--sp-1); }
.pr-page-input { inline-size: 4em; text-align: center; }
.pr-zoom { inline-size: auto; }
.pr-find-input { inline-size: 12em; }
.pr-find-stat { min-inline-size: 5em; }
.pr-hint { margin: 0; color: var(--info); }
.pr-hint[hidden] { display: none; }
.pr-body { flex: 1; min-block-size: 0; display: grid; grid-template-columns: 128px minmax(0, 1fr) minmax(240px, 320px); gap: var(--sp-2); }
.pr-no-thumbs .pr-body { grid-template-columns: minmax(0, 1fr) minmax(240px, 320px); }
.pr-thumbs { overflow: auto; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--panel-2); }
.pr-thumbs[hidden] { display: none; }
.pr-thumb-list { list-style: none; margin: 0; padding: var(--sp-2); display: grid; gap: var(--sp-2); }
.pr-thumb { display: grid; justify-items: center; gap: 2px; inline-size: 100%; padding: 4px; border: 2px solid transparent; border-radius: var(--r-ctl); background: none; cursor: pointer; color: var(--text-2); }
.pr-thumb canvas { inline-size: 96px; block-size: auto; background: #fff; box-shadow: var(--shadow); }
.pr-thumb[aria-current="page"] { border-color: var(--sel-edge); background: var(--sel-bg); color: var(--text); }
.pr-thumb:focus-visible { outline: 3px solid var(--focus); outline-offset: 1px; }
.pr-pages { overflow: auto; min-block-size: 0; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface-3); padding: var(--sp-2) var(--sp-3); }
.pr-pages:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
.pr-pages .af-pages { max-block-size: none; overflow: visible; justify-items: center; }
.pr-page-li { display: grid; justify-items: center; }
.pr-page { position: relative; inline-size: auto; box-shadow: var(--shadow); }
.pr-page .pr-canvas { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; }
.pr-root[data-tool="point"] .pr-page, .pr-root[data-tool="box"] .pr-page { cursor: crosshair; }
.pr-root[data-tool="point"] .textLayer, .pr-root[data-tool="box"] .textLayer { pointer-events: none; }

.pr-page .textLayer { position: absolute; inset: 0; overflow: clip; line-height: 1; text-align: initial; transform-origin: 0 0; z-index: 1; -webkit-text-size-adjust: none; text-size-adjust: none; forced-color-adjust: none; }
.pr-page .textLayer :is(span, br) { color: transparent; position: absolute; white-space: pre; cursor: text; transform-origin: 0% 0%; }
.pr-page .textLayer span.markedContent { inset-block-start: 0; block-size: 0; }
.pr-page .textLayer ::selection { background: rgba(14, 74, 89, .3); }
.pr-page .textLayer br::selection { background: transparent; }
[dir="rtl"] .pr-page .textLayer { direction: ltr; }

.pr-anno { position: absolute; inset: 0; z-index: 2; pointer-events: none; direction: ltr; }
.pr-anno .pr-hl, .pr-anno .pr-box, .pr-anno .pr-find { position: absolute; inset-inline-start: 0; inset-block-start: 0; }
.pr-anno .pr-hl { background: rgba(242, 169, 59, .35); mix-blend-mode: multiply; border-radius: 2px; }
.pr-anno .pr-hl.pr-sugg-ins { background: rgba(29, 122, 70, .25); }
.pr-anno .pr-hl.pr-sugg-del { background: rgba(180, 35, 24, .22); }
.pr-anno .pr-hl.active { background: rgba(242, 169, 59, .6); outline: 2px solid var(--amber); }
.pr-anno .pr-hl.resolved, .pr-anno .pr-box.resolved { opacity: .45; }
.pr-anno .pr-hl.pending { background: rgba(14, 74, 89, .25); outline: 1px dashed var(--brand-700); }
.pr-anno .pr-box { border: 2px solid var(--amber); background: rgba(242, 169, 59, .08); border-radius: 2px; box-sizing: border-box; }
.pr-anno .pr-box.active { border-width: 3px; background: rgba(242, 169, 59, .16); }
.pr-anno .pr-box.pending { border: 2px dashed var(--brand-700); background: rgba(14, 74, 89, .08); }
.pr-anno .pr-find { background: rgba(255, 230, 0, .35); mix-blend-mode: multiply; }
.pr-anno .pr-find.cur { background: rgba(255, 140, 0, .55); outline: 2px solid #c25e00; }
.pr-anno .pr-mark { pointer-events: auto; }
.pr-anno .pr-mark-text, .pr-anno .pr-mark-box { transform: translate(-60%, -80%); inline-size: 20px; block-size: 20px; }
.pr-anno .pr-mark-page { transform: translate(-100%, 0); border-radius: 50%; }
.pr-anno .pr-mark.active { background: var(--brand-700); color: #fff; }
.pr-anno .pr-mark.resolved { opacity: .55; }
.pr-anno .pr-mark.pending { background: var(--brand-700); color: #fff; }
.pr-anno .pr-mark.flash { animation: pr-flash 0.4s ease-in-out 3; }
@keyframes pr-flash { 50% { transform: translate(-50%, -50%) scale(1.35); } }
@media (prefers-reduced-motion: reduce) { .pr-anno .pr-mark.flash { animation: none; outline: 3px solid var(--focus); } }

.pr-side { overflow: auto; min-block-size: 0; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--panel); padding: var(--sp-2); display: flex; flex-direction: column; gap: var(--sp-2); }
.pr-side-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-2); }
.pr-side-h { font-size: var(--fs-md, 15px); margin: 0; }
.pr-composer { display: grid; gap: var(--sp-1); padding: var(--sp-2); border: 1px solid var(--sel-edge); border-radius: var(--r-card); background: var(--sel-bg); }
.pr-quote { margin: 0; padding-inline-start: var(--sp-2); border-inline-start: 3px solid var(--amber); color: var(--text-2); overflow-wrap: anywhere; }
.pr-ta { inline-size: 100%; box-sizing: border-box; resize: vertical; }
.pr-c-actions, .pr-th-actions { gap: var(--sp-1); flex-wrap: wrap; }
.pr-threads, .pr-replies { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-2); }
.pr-thread { padding: var(--sp-2); border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); display: grid; gap: 4px; cursor: pointer; }
.pr-thread.active { border-color: var(--amber); box-shadow: 0 0 0 2px var(--amber); }
.pr-thread.resolved { opacity: .75; }
.pr-thread:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.pr-th-head { display: flex; align-items: center; gap: var(--sp-1); flex-wrap: wrap; }
.pr-num { display: inline-grid; place-items: center; min-inline-size: 20px; block-size: 20px; border-radius: 10px; background: var(--amber); color: var(--brand-900); font-size: var(--fs-xs); font-weight: 700; }
.pr-jump { text-align: start; overflow-wrap: anywhere; }
.pr-badge { padding: 0 6px; border-radius: var(--r-pill); background: var(--info-bg); color: var(--info); }
.pr-badge-res { background: var(--ok-bg); color: var(--ok); }
.pr-c-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.pr-replies { padding-inline-start: var(--sp-3); border-inline-start: 2px solid var(--line); gap: var(--sp-1); }
.pr-sugg ins { background: var(--ok-bg); color: var(--ok); text-decoration: underline; }
.pr-sugg del { background: var(--danger-bg); color: var(--danger); }
.pr-sugg-l { font-weight: 600; }
.pr-replybox { display: grid; gap: var(--sp-1); }
.pr-badge-ver { background: var(--sel-bg); color: var(--text); border: 1px solid var(--sel-edge); }
.pr-badge-chg { background: var(--warn-bg); color: var(--warn); }
.pr-was { overflow-wrap: anywhere; }
.pr-from { display: flex; align-items: center; gap: var(--sp-1); }
.pr-from select { inline-size: auto; }
.pr-earlier { border-block-start: 1px solid var(--line); padding-block-start: var(--sp-2); }
.pr-earlier > summary { cursor: pointer; font-weight: 600; }
.pr-earlier-list { margin-block-start: var(--sp-1); }
.pr-earlier-thread { cursor: default; }
.pr-history > summary, .ep-cmt-history > summary { cursor: pointer; color: var(--text-2); }
.pr-history-list, .ep-cmt-history ol { margin: 4px 0 0; padding-inline-start: var(--sp-3); display: grid; gap: 2px; }
.af-bl-list { display: grid; gap: var(--sp-2); padding-inline-start: var(--sp-3); }
.af-bl-h { font-size: var(--fs-md, 15px); margin: var(--sp-3) 0 var(--sp-1); }

@media (max-width: 900px) {
  .pr-body, .pr-no-thumbs .pr-body { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(300px, 1fr) auto; }
  .pr-thumbs { display: none; }
  .pr-inline, .pr-full { block-size: auto; }
  .pr-pages { max-block-size: 70vh; }
}
