.job-review-dialog { width: min(1160px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); box-sizing: border-box; padding: 22px; border: 1px solid #c8cdd5; border-radius: 8px; color: #263044; background: #fafbfc; font: 14px/1.5 system-ui, sans-serif; }
.job-review-dialog::backdrop { background: rgb(17 27 46 / 52%); }
.job-review-dialog :focus-visible { outline: 3px solid #496aab; outline-offset: 3px; }
.job-review-dialog button { cursor: pointer; padding: 8px 12px; border: 1px solid #bcc5d3; border-radius: 4px; color: #263044; background: #fff; font: inherit; }
.job-review-dialog button:disabled { cursor: default; opacity: .55; }
.job-review-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.job-review-header h2 { margin: 0; font-size: 21px; }
.job-review-note { margin: 12px 0; color: #5c6575; font-size: 12px; }
.job-review-feedback { min-height: 24px; overflow-wrap: anywhere; }
.job-review-feedback[data-error=true], .job-review-warning { color: #9b322a; }
.job-review-layout { display: grid; grid-template-columns: minmax(190px, 250px) minmax(0, 1fr); gap: 22px; align-items: start; }
.job-review-list { display: grid; gap: 8px; max-height: 65vh; overflow-y: auto; padding: 3px; }
.job-review-list button { display: grid; gap: 5px; text-align: left; overflow-wrap: anywhere; }
.job-review-list button[aria-pressed=true] { border-color: #3d5b91; background: #eaf0fa; }
.job-review-list button span, .job-review-list button small { font-size: 12px; }
.job-review-detail { min-width: 0; }
.job-review-detail h3 { margin: 0 0 16px; font-size: 17px; }
.job-review-facts { display: grid; gap: 6px; margin: 0 0 18px; font-size: 12px; }
.job-review-facts > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 12px; }
.job-review-facts dt { color: #606a7a; }
.job-review-facts dd { margin: 0; overflow-wrap: anywhere; }
.job-review-table-wrap { overflow-x: auto; border: 1px solid #d0d6df; }
.job-review-detail table { width: 100%; border-collapse: collapse; font-size: 12px; }
.job-review-detail caption { padding: 10px; text-align: left; font-weight: 600; background: #eef1f5; }
.job-review-detail th, .job-review-detail td { padding: 8px 10px; text-align: left; vertical-align: top; border-bottom: 1px solid #e0e4eb; overflow-wrap: anywhere; }
.job-review-detail th { background: #f3f5f8; }
.job-review-detail th:nth-last-child(-n+2), .job-review-detail td:nth-last-child(-n+2) { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.job-review-detail details { margin: 14px 0; padding: 10px; border: 1px solid #d7dde6; border-radius: 4px; }
.job-review-detail summary { cursor: pointer; font-weight: 600; }
.job-review-detail pre { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; font: 12px/1.5 ui-monospace, monospace; }
.job-review-dialog .job-review-approve { margin: 8px 0; color: #fff; background: #334e7d; border-color: #334e7d; }
@media (max-width: 760px) { .job-review-dialog { padding: 16px; width: calc(100vw - 16px); } .job-review-layout { grid-template-columns: 1fr; } .job-review-list { max-height: 220px; } .job-review-facts > div { grid-template-columns: 115px minmax(0, 1fr); } }
