.extract-dialog { width: min(920px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); padding: 0; border: 1px solid var(--border, #d8ded7); border-radius: 20px; color: var(--text, #24342b); background: var(--surface, #fff); overflow: auto; }
.extract-dialog::backdrop { background: #10251e66; }
.extract-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--border, #d8ded7); position: sticky; top: 0; z-index: 2; background: var(--surface, #fff); }
.extract-header h2 { font-size: 19px; margin: 0; }
.extract-content { padding: 16px 20px; }
.extract-paper-title { font-weight: 650; overflow-wrap: anywhere; margin: 0 0 8px; }
.extract-intro, .extract-verification-note { font-size: 13px; line-height: 1.7; color: var(--muted, #53695c); }
.extract-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.extract-button { min-height: 42px; padding: 8px 14px; border: 1px solid var(--border, #d8ded7); border-radius: 10px; background: var(--surface, #fff); color: inherit; font: inherit; cursor: pointer; }
.extract-button:disabled { opacity: .5; cursor: default; }
.extract-button:focus-visible, .extract-value:focus-visible, .extract-field input:focus-visible { outline: 3px solid #53967c; outline-offset: 2px; }
.extract-primary { color: #fff; background: #1c654d; border-color: #1c654d; }
.extract-status { font-size: 13px; min-height: 20px; overflow-wrap: anywhere; }
.extract-status.error { color: #a44324; }
.extract-warnings, .extract-conflict { border: 1px solid #dfc48b; background: var(--surface-soft, #faf7ee); padding: 12px; border-radius: 12px; font-size: 13px; line-height: 1.6; margin: 12px 0; }
.extract-warnings summary, .extract-previous summary, .extract-evidence summary { cursor: pointer; }
.extract-warnings li { margin-block: 6px; overflow-wrap: anywhere; }
.extract-fields { display: grid; gap: 14px; }
.extract-fields h3 { margin: 8px 0 0; font-size: 16px; }
.extract-field { padding: 14px; border: 1px solid var(--border, #d8ded7); border-radius: 12px; min-width: 0; }
.extract-field-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.extract-field-top input { width: 20px; height: 20px; margin: 0; accent-color: #1c654d; }
.extract-field-top label { font-weight: 600; font-size: 14px; padding: 6px 0; cursor: pointer; }
.extract-field-status { margin-left: auto; font-size: 11px; color: #2c795d; }
.extract-field-status.unverified { color: #986133; }
.extract-value { box-sizing: border-box; width: 100%; min-width: 0; resize: vertical; border: 1px solid var(--border, #d8ded7); border-radius: 8px; padding: 10px; background: var(--surface, #fff); color: inherit; font: inherit; font-size: 14px; line-height: 1.6; }
.extract-previous, .extract-evidence { margin-top: 10px; font-size: 12px; line-height: 1.6; }
.extract-previous p { white-space: pre-wrap; overflow-wrap: anywhere; color: var(--muted, #53695c); }
.extract-evidence-item { margin-top: 10px; border-left: 3px solid #6f9e86; padding: 9px 10px; background: var(--surface-soft, #f7f9f6); }
.extract-evidence-item.unverified { border-left-color: #ba8453; }
.extract-evidence-meta { font-weight: 600; }
.extract-evidence-item blockquote { margin: 6px 0; font-size: 13px; white-space: pre-wrap; overflow-wrap: anywhere; color: inherit; }
.extract-evidence-reason { color: var(--muted, #53695c); font-size: 11px; margin: 6px 0; }
.extract-page { font-size: 12px; margin-top: 4px; }
.extract-footer { position: sticky; bottom: -16px; background: var(--surface, #fff); padding: 12px 0 2px; margin-top: 16px; }
.extract-footer .extract-save { width: 100%; }
@media (max-width: 600px) { .extract-dialog { max-height: calc(100dvh - 12px); width: calc(100vw - 12px); border-radius: 14px; } .extract-header { padding: 12px; } .extract-content { padding: 12px; } .extract-field { padding: 10px; } .extract-value { font-size: 16px; } .extract-field-status { width: 100%; margin-left: 28px; } .extract-footer { bottom: -12px; padding-bottom: max(2px, env(safe-area-inset-bottom)); } }
