.product-module-switch { grid-template-columns: 1fr; }
.product-module-switch > button { min-height: 38px; padding: 6px 9px; }
.product-module-switch strong { font-size: 9px; }
.product-module-switch small { font-size: 6px; }
.gold-review-view { padding-bottom: 28px; }
.gold-review-heading { align-items: flex-start; flex-direction: column; gap: 14px; margin-bottom: 20px; }
.gold-admin-actions { flex-wrap: wrap; gap: 8px; width: 100%; }
.gold-admin-actions > button, .gold-admin-actions > label { flex: 0 0 auto; white-space: nowrap; }
.gold-random-audit-button { border-color: #68ad92; color: #126c50; }
.gold-random-audit-button em { align-items: center; background: #eaf7f1; border-radius: 9px; display: inline-flex; font-size: 9px; font-style: normal; font-variant-numeric: tabular-nums; font-weight: 750; height: 18px; justify-content: center; min-width: 18px; padding: 0 5px; }
.gold-random-audit-button:disabled em { background: #eef1ef; color: var(--muted); }
.gold-file-button { cursor: pointer; }
.gold-action-menu { position: relative; }
.gold-action-menu > summary { cursor: pointer; list-style: none; }
.gold-action-menu > summary::-webkit-details-marker { display: none; }
.gold-action-popover { background: #fff; border: 1px solid var(--border); border-radius: 6px; box-shadow: 0 8px 24px rgba(20,40,50,.14); display: grid; gap: 3px; left: 0; min-width: 210px; padding: 6px; position: absolute; top: calc(100% + 6px); z-index: 30; }
.gold-action-menu:last-child .gold-action-popover { left: auto; right: 0; }
.gold-action-popover > :is(button,label) { align-items: center; background: transparent; border: 0; border-radius: 3px; cursor: pointer; display: flex; font-size: 12px; gap: 8px; min-height: 38px; padding: 8px; text-align: left; }
.gold-action-popover > :is(button,label):hover { background: #edf4f8; }
.gold-action-popover svg { height: 16px; width: 16px; }
.gold-queue-toolbar { align-items: center; border-bottom: 1px solid var(--border); display: flex; flex-wrap: wrap; gap: 8px; padding: 10px 16px; }
.gold-page-search { align-items: center; border: 1px solid var(--border-strong); border-radius: 4px; display: flex; flex: 1 1 220px; gap: 8px; min-width: 0; padding: 0 10px; }
.gold-page-search svg { color: var(--muted); height: 16px; width: 16px; }
.gold-page-search input { background: transparent; border: 0; font-size: 12px; height: 36px; min-width: 0; outline: 0; width: 100%; }
.gold-page-search:focus-within { outline: 2px solid #397fa3; }
.gold-queue-toolbar select, #gold-recall-assignee { background: #fff; border: 1px solid var(--border-strong); border-radius: 4px; font-size: 12px; max-width: 100%; min-height: 36px; padding: 6px 8px; }
#gold-recall-assignee { width: 100%; }
#gold-visible-count { color: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums; min-width: 45px; text-align: right; }
.gold-pagination { align-items: center; border-top: 1px solid var(--border); display: flex; gap: 12px; justify-content: center; min-height: 48px; }
.gold-pagination span { font-size: 12px; min-width: 60px; text-align: center; }
.gold-rework-summary { background: #fff5e6; border-left: 3px solid #ca7918; color: #764608; font-size: 11px; line-height: 1.6; margin: 0; max-height: 100px; overflow: auto; overflow-wrap: anywhere; padding: 8px; }
.gold-page-actions { flex-wrap: wrap; }
.gold-folder-heading { align-items: center; display: flex; gap: 12px; min-width: 0; padding-right: 16px; }
.gold-folder-heading .gold-batch-summary { flex: 1; min-width: 0; }
.gold-folder-heading .gold-batch-summary strong { overflow-wrap: anywhere; }
.gold-danger { color: #aa3038; }
.gold-manage-dialog { background: #fff; border: 1px solid var(--border); border-radius: 8px; color: var(--text); margin: auto; max-height: calc(100dvh - 32px); max-width: calc(100% - 24px); padding: 0; width: 520px; }
.gold-manage-dialog::backdrop { background: rgba(22, 30, 34, .38); }
.gold-manage-dialog header, .gold-manage-dialog footer { align-items: center; display: flex; gap: 12px; padding: 16px 20px; }
.gold-manage-dialog header { border-bottom: 1px solid var(--border); justify-content: space-between; }
.gold-manage-dialog h2 { font-size: 17px; margin: 0; }
.gold-manage-dialog footer { border-top: 1px solid var(--border); justify-content: flex-end; }
.gold-manage-content { max-height: calc(100dvh - 210px); overflow: auto; padding: 18px 20px; }
.gold-manage-content > p { font-size: 13px; line-height: 1.6; margin: 0 0 16px; overflow-wrap: anywhere; }
#gold-manage-name-field { display: grid; font-size: 13px; gap: 8px; margin-bottom: 14px; }
#gold-manage-name { border: 1px solid var(--border-strong); border-radius: 4px; min-height: 38px; padding: 8px; width: 100%; }
.gold-manage-row { align-items: center; border-bottom: 1px solid var(--border); display: flex; font-size: 13px; gap: 10px; min-height: 56px; padding: 10px 0; }
.gold-manage-row > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.gold-manage-row small { color: var(--muted); display: block; font-size: 11px; margin-top: 4px; }
.gold-manage-row input { flex: 0 0 16px; height: 16px; margin: 0; width: 16px; }
.gold-manage-dialog [hidden] { display: none !important; }
.gold-page-actions > .icon-button { flex: 0 0 36px; max-width: 36px; padding: 0; }
.gold-page-grid { align-content: start; }
@media (max-width: 760px) {
  .gold-queue-toolbar { padding: 10px; }
  .gold-page-search { flex-basis: 100%; }
  .gold-admin-actions { gap: 6px; }
  .gold-admin-actions .secondary-button, .gold-admin-actions .primary-button { font-size: 11px; padding: 0 8px; }
  .gold-action-popover { min-width: 185px; }
}
.gold-review-shell { display: grid; grid-template-columns: 280px minmax(0, 1fr); min-height: calc(100vh - 180px); border: 1px solid var(--border); background: var(--surface); max-width: 1560px; margin: 0 auto; }
.gold-batch-panel { border-right: 1px solid var(--border); min-width: 0; }
.gold-batch-panel > header { align-items: center; border-bottom: 1px solid var(--border); display: flex; font-size: 12px; font-weight: 700; justify-content: space-between; min-height: 56px; padding: 0 15px; }
.gold-batch-list { max-height: calc(100vh - 235px); overflow: auto; }
.gold-batch-row { background: #fff; border: 0; border-bottom: 1px solid var(--border); cursor: pointer; display: block; padding: 15px; text-align: left; width: 100%; }
.gold-batch-row:hover { background: var(--surface-soft); }
.gold-batch-row.is-active { background: var(--primary-soft); box-shadow: inset 3px 0 var(--primary); }
.gold-batch-row strong, .gold-batch-row span { display: block; }
.gold-batch-row strong { font-size: 12px; line-height: 1.5; }
.gold-batch-row span { color: var(--muted); font-size: 10px; line-height: 1.5; margin-top: 7px; }
.gold-batch-row .gold-batch-training-counts { color: #157052; margin-top: 2px; }
.gold-main-panel { min-width: 0; }
.gold-batch-summary { align-items: center; border-bottom: 1px solid var(--border); display: flex; gap: 20px; justify-content: space-between; min-height: 84px; padding: 14px 20px; }
.gold-batch-summary span, .gold-batch-summary strong { display: block; }
.gold-batch-summary span { color: var(--subtle); font-size: 10px; }
.gold-batch-summary > div:first-child > span { text-transform: uppercase; }
.gold-batch-summary > div:first-child > strong { font-size: 16px; margin-top: 6px; }
.gold-progress-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.gold-progress-chips span { align-items: baseline; background: var(--surface-soft); border: 1px solid var(--border); color: var(--muted); display: flex; font-size: 10px; gap: 5px; padding: 6px 8px; }
.gold-progress-chips span strong { color: var(--ink); display: inline; font-size: 12px; margin: 0; }
.gold-progress-chips span.pending-training { background: #fff8e8; border-color: #e2b35f; color: #8a5107; }
.gold-progress-chips span.trained { background: #edf8f3; border-color: #68ad92; color: #126c50; }
.gold-page-filters { align-items: center; border-bottom: 1px solid var(--border); display: flex; flex-wrap: wrap; gap: 7px; min-height: 54px; padding: 9px 20px; }
.gold-page-filters button { background: #fff; border: 1px solid var(--border); border-radius: 4px; color: var(--muted); cursor: pointer; font-size: 11px; font-weight: 650; min-height: 34px; padding: 0 11px; }
.gold-page-filters button:hover { border-color: var(--primary); color: var(--primary); }
.gold-page-filters button.is-active { background: var(--primary); border-color: var(--primary); color: #fff; }
.gold-page-filters button[data-gold-filter="pending_training"].is-active { background: #a85d05; border-color: #a85d05; }
.gold-page-filters button[data-gold-filter="trained"].is-active { background: #157052; border-color: #157052; }
.gold-page-filters span { font-variant-numeric: tabular-nums; margin-left: 3px; }
.gold-page-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; max-height: calc(100vh - 321px); overflow: auto; padding: 16px; }
.gold-page-card { align-content: start; background: #fff; border: 1px solid var(--border); border-radius: 4px; display: grid; gap: 12px; min-width: 0; padding: 16px; }
.gold-page-card:hover { border-color: var(--border-strong); }
.gold-page-card.ready { border-top: 3px solid #ca7918; }
.gold-page-card.trained { border-top: 3px solid #1d8b67; }
.gold-page-card.stale { border-top: 3px solid #c54841; }
.gold-page-card.is-audit-sample { border-color: #1d8b67; box-shadow: 0 0 0 2px rgba(29, 139, 103, .14); }
.gold-audit-marker { align-items: center; color: #126c50; display: flex; font-size: 9px; font-weight: 750; gap: 5px; }
.gold-audit-marker svg { height: 13px; width: 13px; }
.gold-page-card header { display: flex; gap: 10px; justify-content: space-between; }
.gold-page-card header > span:first-child { color: var(--primary); font-size: 15px; font-weight: 750; }
.gold-page-card h3 { font-size: 14px; line-height: 1.45; margin: 0; min-height: 20px; overflow-wrap: anywhere; }
.gold-object-summary { color: var(--muted); font-size: 11px; line-height: 1.55; margin: 0; }
.gold-lifecycle { background: #f5f7f9; border: 1px solid var(--border-strong); color: #4f6274; font-size: 10px; font-weight: 700; padding: 4px 7px; white-space: nowrap; }
.gold-lifecycle.in_progress { background: #fff8e8; border-color: #dfad62; color: #8a5107; }
.gold-lifecycle.submitted { background: #edf6ff; border-color: #74a7df; color: #145a9f; }
.gold-lifecycle.ready { background: #fff5e4; border-color: #d89a3e; color: #8c4d02; }
.gold-lifecycle.trained { background: #eaf7f1; border-color: #64aa8e; color: #0f6e50; }
.gold-lifecycle.stale { background: #fff0ef; border-color: #d77b76; color: #a02f2a; }
.gold-training-detail { align-items: center; background: #f7f9fb; border-left: 3px solid #93a3b3; display: flex; gap: 9px; min-height: 50px; padding: 8px 10px; }
.gold-training-detail > svg { flex: 0 0 auto; height: 17px; width: 17px; }
.gold-training-detail span,.gold-training-detail strong,.gold-training-detail small { display: block; }
.gold-training-detail strong { font-size: 11px; }
.gold-training-detail small { color: var(--muted); font-size: 9px; margin-top: 3px; }
.gold-training-detail.ready { background: #fffbf2; border-left-color: #ca7918; color: #8c4d02; }
.gold-training-detail.trained { background: #f1faf6; border-left-color: #1d8b67; color: #126c50; }
.gold-training-detail.stale { background: #fff5f4; border-left-color: #c54841; color: #a02f2a; }
.gold-card-facts { border-top: 1px solid var(--border); display: grid; gap: 6px; padding-top: 10px; }
.gold-card-facts span { align-items: center; color: var(--muted); display: flex; font-size: 10px; gap: 6px; line-height: 1.4; min-width: 0; overflow-wrap: anywhere; }
.gold-card-facts svg { flex: 0 0 auto; height: 13px; width: 13px; }
.gold-page-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.gold-page-actions button { flex: 1; font-size: 11px; min-height: 36px; padding: 0 9px; }
.gold-page-actions .gold-recall-button { align-items: center; border-color: #d79b46; color: #8a4b03; display: inline-flex; gap: 5px; justify-content: center; }
.gold-page-actions .gold-recall-button svg { height: 13px; width: 13px; }
.gold-page-actions .cv-open-button { align-items: center; border-color: #9ac5ae; color: #12633f; display: inline-flex; gap: 5px; justify-content: center; }
.gold-page-actions .cv-open-button svg { height: 13px; width: 13px; }
.gold-page-actions .gold-yolo-manual-button { align-items: center; border-color: #55a88d; color: #08745a; display: inline-flex; flex-basis: 100%; gap: 5px; justify-content: center; }
.gold-page-actions .gold-yolo-manual-button svg { height: 13px; width: 13px; }
.gold-pdf-upload-modal { max-height: min(86vh, 820px); max-width: 820px; width: min(820px, 100%); }
.gold-pdf-upload-content { min-height: 0; padding: 18px 22px 4px; }
.gold-pdf-batch-name { display: block; font-size: 10px; font-weight: 700; }
.gold-pdf-batch-name input { border: 1px solid var(--border-strong); border-radius: 4px; display: block; height: 40px; margin-top: 7px; padding: 0 10px; width: 100%; }
.gold-pdf-upload-stats { border-bottom: 1px solid var(--border); display: grid; gap: 18px; grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(90px, .6fr)); margin-top: 16px; padding: 0 0 14px; }
.gold-pdf-upload-stats span,.gold-pdf-upload-stats strong { display: block; }
.gold-pdf-upload-stats span { color: var(--muted); font-size: 9px; }
.gold-pdf-upload-stats strong { font-size: 12px; margin-top: 5px; overflow-wrap: anywhere; }
.gold-pdf-upload-error { background: #fff1f0; border-left: 3px solid var(--red); color: #982b27; font-size: 10px; line-height: 1.5; margin-top: 12px; padding: 9px 11px; }
.gold-recall-error { background: #fff1f0; border-left: 3px solid var(--red); color: #982b27; font-size: 10px; line-height: 1.5; margin-top: 12px; padding: 9px 11px; }
.gold-pdf-file-list { max-height: min(46vh, 420px); overflow: auto; }
.gold-pdf-file-list > div { align-items: center; border-bottom: 1px solid var(--border); display: grid; gap: 10px; grid-template-columns: 38px minmax(0, 1fr) 70px; min-height: 43px; padding: 7px 2px; }
.gold-pdf-file-list span { color: var(--primary); font-size: 9px; font-variant-numeric: tabular-nums; font-weight: 750; }
.gold-pdf-file-list strong { font-size: 10px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gold-pdf-file-list small { color: var(--muted); font-size: 9px; text-align: right; }
.gold-recall-content { padding: 20px 22px 4px; }
.gold-recall-content > p { color: var(--muted); font-size: 10px; line-height: 1.65; margin: 14px 0 17px; }
.gold-recall-page { background: var(--surface-soft); border-left: 3px solid var(--amber); padding: 12px 13px; }
.gold-recall-page strong, .gold-recall-page span { display: block; }
.gold-recall-page strong { font-size: 12px; line-height: 1.45; }
.gold-recall-page span { color: var(--muted); font-size: 9px; margin-top: 5px; }
.gold-recall-content label { display: block; font-size: 10px; font-weight: 700; }
.gold-recall-content label span { color: var(--red); font-size: 8px; margin-left: 4px; }
.gold-recall-content textarea { border: 1px solid var(--border-strong); border-radius: 4px; line-height: 1.55; margin-top: 7px; min-height: 92px; padding: 9px 10px; resize: vertical; width: 100%; }
.gold-offline-sync-modal { max-height: min(82vh, 760px); max-width: 940px; width: min(940px, 100%); }
.gold-offline-sync-content { min-height: 0; padding: 18px 22px 4px; }
.gold-offline-sync-summary { align-items: baseline; border-bottom: 1px solid var(--border); display: flex; gap: 10px; padding: 0 0 12px; }
.gold-offline-sync-summary strong { font-size: 13px; }
.gold-offline-sync-summary span { color: var(--muted); font-size: 10px; }
.gold-offline-sync-list { max-height: min(54vh, 500px); overflow: auto; }
.gold-offline-sync-row { align-items: center; border-bottom: 1px solid var(--border); display: grid; gap: 10px; grid-template-columns: 45px minmax(180px, 1fr) minmax(130px, auto) 150px; min-height: 56px; padding: 8px 2px; }
.gold-offline-sync-row > strong { color: var(--muted); font-size: 10px; }
.gold-offline-sync-name { font-size: 11px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gold-offline-sync-name small { color: var(--muted); display: block; font-size: 8px; margin-top: 3px; }
.gold-offline-sync-row em { color: var(--cyan); font-size: 9px; font-style: normal; font-weight: 700; }
.gold-offline-sync-row.conflict em, .gold-offline-sync-row.online_locked em { color: var(--red); }
.gold-offline-sync-row select { border: 1px solid var(--border-strong); border-radius: 4px; font-size: 10px; min-height: 32px; padding: 5px 8px; width: 100%; }
.gold-offline-sync-action { color: var(--muted); font-size: 9px; text-align: right; }
@media (max-width: 720px) { .gold-offline-sync-row { grid-template-columns: 38px minmax(0, 1fr); } .gold-offline-sync-row em, .gold-offline-sync-row select, .gold-offline-sync-action { grid-column: 2; text-align: left; } }
.gold-yolo-manual-content { padding: 20px 22px 4px; }
.gold-yolo-manual-content > p { color: var(--muted); font-size: 10px; line-height: 1.65; margin: 14px 0 17px; }
.gold-yolo-manual-content > label:not(.gold-yolo-confirm) { display: block; font-size: 10px; font-weight: 700; }
.gold-yolo-manual-content > label:not(.gold-yolo-confirm) > span { color: var(--red); font-size: 8px; margin-left: 4px; }
.gold-yolo-manual-content > select { border: 1px solid var(--border-strong); border-radius: 4px; height: 38px; margin-top: 7px; padding: 0 9px; width: 100%; }
.gold-yolo-confirm { align-items: flex-start; background: var(--surface-soft); border: 1px solid var(--border); cursor: pointer; display: flex; gap: 9px; margin-top: 14px; padding: 11px 12px; }
.gold-yolo-confirm input { margin: 2px 0 0; }
.gold-yolo-confirm strong,.gold-yolo-confirm small { display: block; }
.gold-yolo-confirm strong { font-size: 10px; }
.gold-yolo-confirm small { color: var(--muted); font-size: 8px; line-height: 1.5; margin-top: 3px; }
.gold-empty { align-items: center; color: var(--muted); display: flex; font-size: 11px; justify-content: center; min-height: 160px; padding: 24px; text-align: center; }
.gold-workbench-layer { background: #e9f1f5; inset: 0; overflow: hidden; position: fixed; z-index: 90; }
.gold-workbench-layer iframe { border: 0; display: block; height: 100%; width: 100%; }
.gold-workbench-open { overflow: hidden; }
.gold-workbench-close { align-items: center; background: #092b42; border: 1px solid #38566c; color: #fff; cursor: pointer; display: flex; gap: 6px; height: 34px; padding: 0 11px; position: absolute; right: 12px; top: 12px; z-index: 3; }
.gold-workbench-close svg { height: 14px; width: 14px; }
@media (max-width: 900px) {
  .product-module-switch { grid-template-columns: 1fr; }
  .gold-review-shell { grid-template-columns: 1fr; }
  .gold-batch-panel { border-bottom: 1px solid var(--border); border-right: 0; }
  .gold-batch-list { display: flex; max-height: none; overflow: auto; }
  .gold-batch-row { border-bottom: 0; border-right: 1px solid var(--border); min-width: 210px; }
  .gold-batch-summary { align-items: flex-start; flex-direction: column; }
  .gold-page-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); max-height: none; }
  .gold-workbench-layer { inset: 0; }
}
@media (max-width: 560px) {
  .gold-page-grid { grid-template-columns: minmax(0, 1fr); padding: 10px; }
  .gold-workbench-close { justify-content: center; padding: 0; right: 9px; top: 15px; width: 34px; }
  .gold-workbench-close span { display: none; }
  .gold-pdf-upload-content { padding: 14px 14px 2px; }
  .gold-pdf-upload-stats { gap: 10px; grid-template-columns: 1fr 1fr; }
  .gold-pdf-upload-stats > div:first-child { grid-column: 1 / -1; }
  .gold-pdf-file-list > div { grid-template-columns: 32px minmax(0, 1fr); }
  .gold-pdf-file-list small { grid-column: 2; text-align: left; }
}

.review-body { --review-ink:#111827; --review-muted:#64748b; --review-line:#d8e0ea; --review-blue:#1464d2; --review-red:#c92c38; --review-green:#16845b; --review-amber:#b76505; background:#d4dfe7; color:var(--review-ink); font-family:Inter,"Noto Sans SC",sans-serif; margin:0; overflow:hidden; }
.review-body * { box-sizing:border-box; }
.review-body.submitting .review-layout { opacity:.72; pointer-events:none; }
.review-mode { background:#e8eef6; border:1px solid #bcc9d9; color:#3b4c61; font-size:9px; font-weight:750; margin-left:10px; padding:3px 7px; }
.review-body.second-review .review-mode { background:#eaf3ff; border-color:#71a6e7; color:#0b4f9c; }
.review-body.second-review .review-topbar { box-shadow:inset 3px 0 0 #1677d2; }
.review-body.readonly .review-decisions button,
.review-body.readonly .review-detail :is(input,select,textarea,.manual-review-actions button),
.review-body.readonly .red-box-button { pointer-events:none; opacity:.55; }
.review-body button,.review-body input,.review-body select,.review-body textarea { font:inherit; }
.review-topbar { align-items:center; background:#0a1f33; color:#fff; display:flex; height:58px; justify-content:space-between; padding:0 150px 0 16px; }
.review-topbar strong,.review-topbar span { display:block; }
.review-topbar strong { font-size:15px; }
.review-topbar span { color:#9db4c5; font-size:10px; margin-top:3px; }
.review-top-actions { display:flex; gap:7px; }
.review-top-actions button { background:#173650; border:1px solid #45627a; color:#fff; cursor:pointer; height:34px; padding:0 12px; }
.review-top-actions .complete { background:var(--review-green); border-color:var(--review-green); font-weight:700; }
.review-layout { display:grid; grid-template-columns:minmax(460px,1fr) 460px; height:calc(100vh - 58px); }
.review-stage { display:flex; flex-direction:column; min-height:0; min-width:0; }
.review-toolbar { align-items:center; background:#fff; border-bottom:1px solid var(--review-line); display:flex; flex:0 0 48px; gap:7px; padding:7px 10px; }
.review-toolbar button { background:#fff; border:1px solid var(--review-line); cursor:pointer; height:32px; min-width:34px; }
.review-toolbar button.active { background:var(--review-blue); border-color:var(--review-blue); color:#fff; }
.review-toolbar .red-box-button { background:var(--review-red); border-color:var(--review-red); color:#fff; font-weight:750; min-width:154px; }
.review-toolbar label { color:var(--review-muted); font-size:10px; white-space:nowrap; }
.review-spacer { flex:1; }
#zoom-value { color:var(--review-muted); font-size:10px; min-width:42px; text-align:center; }
.review-viewer { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:24px; }
.review-viewer.pan-ready { cursor:grab; }.review-viewer.panning { cursor:grabbing; user-select:none; }
.review-drawing { background:#fff; box-shadow:0 5px 23px #40536655; position:relative; transform-origin:0 0; }
.review-drawing.drawing { cursor:crosshair; touch-action:none; }
#drawing { display:block; height:100%; user-select:none; width:100%; }
#overlay { height:100%; inset:0; pointer-events:none; position:absolute; width:100%; }
.review-box { fill:transparent; stroke:#00a6c7; stroke-width:1.5; vector-effect:non-scaling-stroke; }
.review-box.missing { stroke:var(--review-amber); stroke-dasharray:8 5; stroke-width:2; }.review-box.manual,.review-box.selected { stroke:var(--review-red); stroke-width:2.5; }
.review-box.draft { fill:#ef444418; stroke:var(--review-red); stroke-dasharray:10 6; }
.review-badge { fill:#093e5c; stroke:#fff; stroke-width:1; vector-effect:non-scaling-stroke; }.review-badge.missing { fill:#a45504; }.review-badge.manual { fill:var(--review-red); }
.review-badge-text { fill:#fff; font-size:28px; font-weight:750; }
.review-panel { background:#fff; border-left:1px solid var(--review-line); display:flex; flex-direction:column; min-height:0; min-width:0; }
.review-meta { border-bottom:1px solid var(--review-line); min-height:70px; padding:11px 13px; }.review-meta h1 { font-size:15px; margin:0 0 5px; }.review-meta p { color:var(--review-muted); font-size:10px; margin:0; }
.review-recall-banner { background:#fff8e8; border-bottom:1px solid #e6b96f; color:#8a4b03; padding:9px 12px; }
.review-recall-banner strong,.review-recall-banner span { display:block; }
.review-recall-banner strong { font-size:10px; }
.review-recall-banner span { font-size:9px; line-height:1.45; margin-top:3px; overflow-wrap:anywhere; }
.review-tabs { display:flex; height:40px; }.review-tabs button { background:#f5f7f9; border:0; border-bottom:1px solid var(--review-line); border-right:1px solid var(--review-line); cursor:pointer; flex:1; font-size:10px; }.review-tabs button.active { background:#fff; box-shadow:inset 0 -2px var(--review-blue); color:var(--review-blue); }
.review-filters { border-bottom:1px solid var(--review-line); display:flex; gap:7px; padding:8px; }.review-filters input,.review-filters select { border:1px solid var(--review-line); height:32px; padding:0 7px; }.review-filters input { flex:1; min-width:0; }
.review-items { flex:1; min-height:140px; overflow:auto; }.review-item { border-bottom:1px solid var(--review-line); cursor:pointer; padding:9px 11px; }.review-item:hover,.review-item.active { background:#eef7fb; }.review-item header { align-items:center; display:flex; gap:7px; }.review-number { color:#075985; font-weight:750; min-width:42px; }.review-kind { color:var(--review-muted); font-size:9px; }.review-status { border:1px solid var(--review-line); color:var(--review-muted); font-size:8px; margin-left:auto; padding:2px 5px; }.review-status.done { border-color:#75b99d; color:var(--review-green); }.review-raw { font-size:11px; font-weight:650; margin-top:5px; overflow-wrap:anywhere; }
.review-detail { background:#f9fbfd; border-top:1px solid var(--review-line); flex:0 0 360px; overflow:auto; padding:10px; }.review-empty { color:var(--review-muted); font-size:11px; padding:30px 12px; text-align:center; }
.review-crop { background:#fff; border:1px solid var(--review-line); height:105px; object-fit:contain; width:100%; }.review-source { background:#fff; border:1px solid var(--review-line); font-size:10px; line-height:1.5; margin-top:7px; padding:7px 8px; }.review-source strong { font-size:12px; }
.review-decisions { display:grid; gap:5px; grid-template-columns:repeat(2,1fr); margin-top:8px; }.review-decisions button { background:#fff; border:1px solid var(--review-line); cursor:pointer; min-height:31px; }.review-decisions button.active { background:#163d5d; color:#fff; }
.review-detail textarea { border:1px solid var(--review-line); margin-top:7px; min-height:50px; padding:6px; resize:vertical; width:100%; }
.manual-review-form { display:grid; font-size:10px; gap:6px 8px; grid-template-columns:78px 1fr; margin-top:8px; }.manual-review-form input,.manual-review-form select { border:1px solid var(--review-line); height:31px; min-width:0; padding:0 6px; width:100%; }.manual-review-actions { display:grid; gap:6px; grid-template-columns:1fr 1fr; margin-top:8px; }.manual-review-actions button { border:1px solid var(--review-line); height:33px; }.manual-review-actions .save { background:var(--review-blue); border-color:var(--review-blue); color:#fff; }
.structured-correction { background:#fff; border:1px solid #7aa5d9; margin-top:8px; padding:9px; }
.structured-correction header strong,.structured-correction header span { display:block; }
.structured-correction header strong { color:#0b4f9c; font-size:11px; }
.structured-correction header span { color:var(--review-muted); font-size:9px; line-height:1.45; margin-top:3px; }
.save-structured { background:var(--review-blue); border:1px solid var(--review-blue); color:#fff; cursor:pointer; height:33px; margin-top:9px; width:100%; }
.review-toast { background:#ecfdf5; border:1px solid #7ab79d; box-shadow:0 8px 28px #0f172a2e; color:#075d3c; font-size:11px; font-weight:650; left:50%; max-width:600px; padding:9px 12px; position:fixed; top:68px; transform:translateX(-50%); z-index:20; }.review-toast.error { background:#fff1f2; border-color:#e09ca3; color:#8f1723; }

/* PhysMeta unified operations theme for the standalone gold-review workbench. */
.review-body {
  --review-ink: #182633;
  --review-muted: #667687;
  --review-line: #d7e4ed;
  --review-blue: #3b75a3;
  --review-red: #b63d3d;
  --review-green: #27724f;
  --review-amber: #a46216;
  background: #e8f0f5;
  color: var(--review-ink);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
}
.review-body button,
.review-body input,
.review-body select,
.review-body textarea { letter-spacing: 0; }
.review-body :is(button, input, select, textarea):focus-visible { outline: 2px solid rgba(59,117,163,.25); outline-offset: 1px; }
.review-topbar { background: #0f2638; border-bottom: 1px solid #294a60; }
.review-topbar span { color: #9db5c4; }
.review-top-actions button { background: #20465f; border-color: #54788f; border-radius: 6px; }
.review-top-actions button:hover { background: #285b78; border-color: #7896aa; }
.review-top-actions .complete { background: #27724f; border-color: #3d8a66; }
.review-mode { background: #20465f; border-color: #54788f; border-radius: 10px; color: #d5e5ef; }
.review-body.second-review .review-mode { background: #49362f; border-color: #815744; color: #f5d9cf; }
.review-body.second-review .review-topbar { box-shadow: inset 3px 0 #d56d55; }

.review-toolbar,
.review-panel,
.review-meta { background: #ffffff; border-color: var(--review-line); }
.review-toolbar button,
.review-filters :is(input, select),
.review-decisions button,
.review-detail :is(input, select, textarea),
.manual-review-actions button { border-radius: 5px; }
.review-toolbar button:hover { background: #edf4f8; border-color: #b9cedc; }
.review-toolbar button.active { background: #163950; border-color: #163950; }
.review-toolbar .red-box-button { background: var(--review-red); border-color: var(--review-red); }
.review-viewer {
  background-color: #e8f0f5;
  background-image: linear-gradient(#d8e5ed 1px, transparent 1px), linear-gradient(90deg, #d8e5ed 1px, transparent 1px);
  background-size: 24px 24px;
}
.review-drawing { box-shadow: 0 9px 30px rgba(30,61,84,.18); }
.review-badge { fill: #163950; }

.review-tabs button { background: #f7fbfe; border-color: var(--review-line); color: var(--review-muted); }
.review-tabs button.active { background: #ffffff; box-shadow: inset 0 -2px #d56d55; color: #163950; }
.review-filters { background: #f7fbfe; border-color: var(--review-line); }
.review-filters :is(input, select),
.review-detail :is(input, select, textarea) { background: #ffffff; border-color: #b9cedc; }
.review-filters :is(input, select):focus,
.review-detail :is(input, select, textarea):focus {
  border-color: #76a5c5;
  box-shadow: 0 0 0 3px rgba(112,166,202,.14);
  outline: 0;
}
.review-item { border-color: #edf0ed; }
.review-item:hover { background: #f2f8fc; }
.review-item.active { background: #eaf3f9; box-shadow: inset 3px 0 #d56d55; }
.review-number { color: #163950; }
.review-status { border-radius: 10px; }
.review-status.done { background: #eaf5ee; border-color: #c9e4d4; color: #246b49; }
.review-detail { background: #f7fbfe; border-color: var(--review-line); }
.review-crop,
.review-source { border-color: var(--review-line); border-radius: 6px; }
.review-decisions button.active { background: #163950; border-color: #163950; }
.manual-review-actions .save,
.save-structured { background: #163950; border-color: #163950; border-radius: 5px; }
.structured-correction { border-color: #9ebed3; border-radius: 6px; }
.structured-correction header strong { color: #163950; }
.review-toast { background: #eaf5ee; border-color: #9bc8ad; border-radius: 6px; box-shadow: 0 14px 36px rgba(30,61,84,.14); color: #245f43; }

/* One geometry scale for terminal-review commands and form rows. */
.review-body {
  --review-control-height: 36px;
  --review-icon-size: 34px;
  --review-control-radius: 6px;
}
.review-top-actions button,
.review-filters :is(input, select),
.review-decisions button,
.manual-review-form :is(input, select),
.manual-review-actions button,
.save-structured {
  border-radius: var(--review-control-radius);
  height: var(--review-control-height);
  min-height: var(--review-control-height);
}
.review-toolbar button {
  border-radius: var(--review-control-radius);
  height: var(--review-icon-size);
  min-width: var(--review-icon-size);
}
.review-toolbar .red-box-button { height: var(--review-control-height); }

@media (max-width: 760px) {
  .review-topbar {
    align-content: center;
    display: grid;
    gap: 6px;
    grid-template-rows: 36px 38px;
    height: 104px;
    padding: 8px 10px;
  }
  .review-topbar > div:first-child { align-items: center; display: flex; gap: 8px; min-width: 0; }
  .review-topbar > div:first-child strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .review-topbar #save-state { display: none; }
  .review-mode { flex: 0 0 auto; margin: 0; }
  .review-top-actions { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); width: 100%; }
  .review-top-actions button { height: 38px; min-width: 0; padding: 0 8px; white-space: nowrap; }
  .review-toolbar { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
  .review-toolbar::-webkit-scrollbar { display: none; }
  .review-toolbar > * { flex: 0 0 auto; }
  .review-spacer { display: none; }
  .review-layout { grid-template-columns: 1fr; grid-template-rows: minmax(52vh, 1fr) minmax(420px, auto); height: auto; min-height: calc(100vh - 104px); }
  .review-panel { border-left: 0; border-top: 1px solid var(--review-line); min-height: 420px; }
  .review-viewer { padding: 12px; }
  .review-toast { top: 160px; }
}
