/* Shared workspace and final-file surfaces across Docifer tools. */
:root{--workspace-radius:6px;--workspace-gap:20px}
.workspace-kicker,.workspace-heading small{display:block;color:var(--muted);font:10px/1.5 ui-monospace,monospace;letter-spacing:.12em}
.workspace-heading strong{display:block;font-size:17px;letter-spacing:-.025em}
.workspace-help{color:var(--muted);font-size:13px;line-height:1.6;margin:0 0 8px}
#scanner,.im-dialog{font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.scan-header,.im-header,.extractor-header,.extraction-heading{background:var(--ink);border-bottom:1px solid var(--line);min-height:70px;padding:12px 20px;gap:12px}
#scanner button,#imageStudio button,.workspace-home,#extractionEditor .secondary-button{border-radius:var(--workspace-radius);min-height:40px;font-size:13px;padding:9px 12px}
.workspace-home{background:var(--ink2);color:var(--paper);border:1px solid var(--line);cursor:pointer;white-space:nowrap}
.editor-rail .workspace-home{white-space:normal;width:100%;padding:10px 3px;font-size:11px;line-height:1.5}
#scanner .scan-primary,#imageStudio .im-primary,#flowDownload,#downloadButton{background:var(--acid);border-color:var(--acid);color:var(--ink);font-weight:750}
.workspace-home:focus-visible,.workspace-preview-scroll:focus-visible,#scanPdfScroll:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.workspace-page-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.workspace-page-nav strong{font-size:14px;white-space:nowrap}
.comparison-heading{display:flex;flex-direction:column;gap:6px;padding:16px 18px;background:var(--ink);border:1px solid var(--line);border-bottom:0;min-height:88px}
.comparison-heading b{font-size:20px;letter-spacing:-.025em;color:var(--paper)}
.comparison-heading span{font-size:13px;color:var(--muted);line-height:1.45}
.scan-original .comparison-heading{border-top:3px solid var(--signal)}
.scan-processed .comparison-heading{border-top:3px solid var(--acid)}
.scan-image-scroll{max-height:calc(100dvh - 380px);min-height:200px}
.scan-canvas-tools{line-height:1.5}
.scan-pages-panel>small{line-height:1.6;font-size:12px}
#scanner .scan-thumb span{font-size:12px;text-align:left}
#scanExport{gap:0;padding:0;overflow:hidden;grid-template-columns:340px minmax(0,1fr)}
.scan-export-controls,.flow-export-panel{padding:24px;gap:16px;background:var(--ink);border-right:1px solid var(--line)}
.scan-export-controls h2,#imageStudio [data-im-panel=export] h2,#exportPanel h2,.flow-export-panel h2{font-size:25px;letter-spacing:-.04em;margin:0 0 8px}
.scan-pdf-view{padding:20px;background:var(--ink2);overflow:hidden}
.scan-pdf-view header{flex:none;justify-content:space-between;gap:8px}
#scanPdfScroll{overflow:auto;min-height:0;padding:18px;overscroll-behavior:contain;scrollbar-gutter:stable}
#scanPdfPages{display:flex;flex-direction:column;gap:24px;width:100%;max-width:1000px;margin:0 auto}
#scanPdfPages figure{margin:0;width:100%;flex:none;text-align:left}
#scanPdfPages figcaption{padding:0 0 10px;font:12px/1.4 ui-monospace,monospace;color:var(--muted)}
#scanPdfCanvas,.scan-pdf-sheet{display:block;width:100%;max-width:none;max-height:none;height:auto;background:white;box-shadow:0 5px 20px #0003}
.scan-pdf-sheet{position:relative;overflow:hidden}
.scan-pdf-sheet img{position:absolute;object-fit:fill;display:block}
#scanResume{margin-top:16px;margin-right:8px}
.im-rail [data-im-tool=export]{display:none!important}
#imageStudio.export-view .im-body{grid-template-columns:340px minmax(0,1fr)}
#imageStudio.export-view .im-rail,#imageStudio.export-view .im-viewbar,#imageStudio.export-view .im-viewport,#imageStudio.export-view .im-footer{display:none}
#imageStudio.export-view .im-controls{grid-column:1;grid-row:1;border-left:0;border-right:1px solid var(--line);padding:24px}
#imageStudio.export-view .im-main{grid-column:2;grid-row:1;padding:20px}
#imFinalPreview{display:flex;flex-direction:column;flex:1;min-height:0}
.workspace-preview-scroll{overflow:auto;min-height:0;flex:1;padding:20px;background:var(--ink2);border:1px solid var(--line)}
#imFinalPreview #imExportPreview{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
#imFinalPreview #imExportPreview[hidden]{display:none}
#imPreviewHint{color:var(--muted);font-size:14px}
#exportDialog{inset:72px 0 0;margin:0;width:100vw;max-width:none;height:calc(100dvh - 72px);max-height:none;padding:0;border:0;background:var(--ink)}
#exportDialog[open]{display:grid;grid-template-columns:340px minmax(0,1fr);gap:0}
#exportDialog::backdrop{background:transparent;backdrop-filter:none}
.document-export-controls{padding:24px;overflow:auto;border-right:1px solid var(--line)}
.document-export-preview{padding:20px;display:flex;flex-direction:column;min-height:0;background:var(--ink2)}
#exportDialog>form{position:absolute;right:10px;top:10px;z-index:1}
#exportDialog .visual-export-preview{flex:1;min-height:0;height:auto;margin:0;overflow:auto;display:block;padding:18px;background:var(--ink2)}
#exportDialog .visual-export-preview img{width:100%;max-height:none;height:auto;margin:0 auto 20px}
#exportDialog .modal-actions{display:flex;flex-direction:column-reverse;gap:12px;border-top:1px solid var(--line);padding-top:16px}
#exportDialog .export-preview-card{margin:24px 0;overflow-wrap:anywhere}
#exportDialog .export-preview-card strong{white-space:normal}
#exportDialog .modal-actions button{width:100%;border-radius:6px}
#exportPanel .workspace-kicker{margin-top:8px}
.history-row{display:none} /* Undo/Redo already live in the document header. */
#extractionEditor>.extraction-heading,#extractionEditor>.extraction-layout,#extractionEditor>.extraction-footer,#extractionEditor>.workspace-tools,#flowPreparation{width:100%;max-width:none}
#extractionEditor>.extraction-layout{max-height:none}
#extractionEditor{inset:72px 0 0;height:calc(100dvh - 72px)}
#extractionEditor .extraction-heading{padding:12px 20px}
#extractionEditor .extraction-heading h2{font-size:22px;letter-spacing:-.035em}
#extractionEditor #extractionClose{order:-1;white-space:nowrap}
.flow-export-panel{display:none;overflow:auto;min-height:0}
.flow-export-panel label{display:grid;gap:8px;font-size:13px;margin-top:20px}
.flow-export-panel input{width:100%;padding:10px;background:var(--ink2);color:var(--paper);border:1px solid var(--line);border-radius:6px;font:inherit}
.flow-export-panel p{color:var(--muted);font-size:13px;line-height:1.6}
#extractionEditor[data-step=done] .extraction-layout{grid-template-columns:340px minmax(0,1fr)}
#extractionEditor[data-step=done] .flow-export-panel{display:flex;flex-direction:column;gap:12px}
#extractionEditor[data-step=done] #extractionComparison{grid-template-columns:1fr}
#extractionEditor[data-step=done] .extraction-source-pane{display:none!important}
#extractionEditor[data-step=done] #extractionComparison>section>strong{font-size:20px;padding:16px}
#extractionEditor[data-step=done] #flowBack{display:none}
#extractionEditor[data-step=done] #workspaceMobileView{display:none}
#extractionEditor[data-step=done] .extraction-heading>div:first-child{margin-right:auto}
#extractionEditor[data-step=done] .extraction-view-tools>label:has(#extractionOriginal){display:none}
#extractionEditor .flow-export-panel button{width:100%;min-height:40px;border-radius:6px;padding:10px;font-weight:700;font-size:13px;line-height:1.5}
@media(max-width:1100px){.scan-comparison{grid-template-columns:1fr}.scan-image-scroll{max-height:55dvh}.scan-body{grid-template-columns:230px minmax(0,1fr) 220px}}
@media(max-width:780px){
 #exportDialog{inset:64px 0 0;height:calc(100dvh - 64px);overflow:auto}#exportDialog[open]{display:block}
 .document-export-controls{border-right:0;border-bottom:1px solid var(--line);padding:20px}
 .document-export-preview{height:70dvh;min-height:400px;padding:12px}
 #extractionEditor{inset:64px 0 0;height:calc(100dvh - 64px)}
 .scan-header,.im-header,.extractor-header,.extraction-heading{padding:10px 12px;flex-wrap:wrap}
 .scan-header nav{width:100%;flex-wrap:wrap}.scan-header .workspace-heading small{display:block}
 #scanner .scan-header nav button{font-size:12px!important}#scanReview{margin-left:auto}
 .workspace-page-nav{gap:6px}.workspace-page-nav strong{font-size:12px}#scanner .workspace-page-nav button{font-size:11px;padding:8px}
 .scan-comparison{grid-template-columns:1fr;gap:18px}.comparison-heading{min-height:0;padding:14px}.comparison-heading b{font-size:20px}
 .scan-image-scroll{max-height:55dvh}.scan-main{padding:12px}
 #scanExport{display:block;overflow:auto}.scan-export-controls{overflow:visible;padding:20px;border-right:0;border-bottom:1px solid var(--line)}
 .scan-pdf-view{height:70dvh;min-height:420px;padding:12px}.scan-pdf-view>div{overflow:auto}#scanPdfScroll{padding:12px}
 #scanner .scan-pdf-view header button{font-size:11px;padding:8px}#scanPdfNumber{font-size:12px}
 #imageStudio.export-view .im-body{display:flex;flex-direction:column;overflow:auto}
 #imageStudio.export-view .im-controls{order:0;flex:none;overflow:visible;border-right:0;border-bottom:1px solid var(--line);padding:20px}
 #imageStudio.export-view .im-main{order:1;min-height:400px;max-height:70dvh;flex:none;padding:12px}
 #extractionEditor[data-step=done] .extraction-layout{display:flex;flex-direction:column;overflow:auto}
 #extractionEditor[data-step=done] .flow-export-panel{flex:none;border-right:0;border-bottom:1px solid var(--line);padding:20px}
 #extractionEditor[data-step=done] .extraction-image-area{min-height:400px;flex:none}
}
