/* Alvos confortáveis, ações agrupadas e uma conclusão visualmente dominante. */
.button,.icon-button,.editor-workspace .document-bar .button,.editor-toolbar .button { min-height:44px; font-size:13px; padding:10px 14px }
.icon-button { min-width:44px }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid var(--purple); outline-offset:3px }
.document-bar { position:sticky; top:0; z-index:20; background:var(--bg); box-shadow:0 3px 10px #29244410 }
.history-actions { gap:8px; flex-wrap:wrap }
.document-actions { opacity:1; flex-wrap:wrap; gap:5px }
.document-actions .icon-button { display:inline-flex; align-items:center; justify-content:center; width:auto; height:44px; min-height:44px; min-width:44px; padding:8px; gap:5px; font-size:12px }
.document-card { min-width:300px; overflow:visible }
.documents-panel { overflow:visible }
.documents-list { overflow-y:visible; padding:10px }
.documents-panel .panel-heading { padding:12px 16px }
.documents-list:has(>.document-card:only-child)>.document-card { display:grid; grid-template-columns:minmax(150px,1fr) auto; width:100%; max-width:none; gap:0 16px; min-width:0 }
.documents-list:has(>.document-card:only-child) .document-actions { grid-column:2; grid-row:1/3; align-self:center }
.documents-list:has(>.document-card:only-child) .document-open { grid-column:1 }
.document-more { position:relative }
.document-more summary { cursor:pointer; font-size:12px; padding:12px 6px; min-height:44px }
.document-more .more-tools { position:static; left:auto; right:0 }
.document-more .icon-button { justify-content:start; min-width:160px }
.document-open { min-height:44px; font-size:14px }
.workflow { display:flex; justify-content:space-between; gap:12px; list-style:none; padding:0; margin:20px 0 8px; color:var(--muted); font-size:13px }
.workflow [aria-current=step] { color:var(--purple); font-weight:700 }
.workflow .complete { color:var(--ink) }
#workflow-progress { display:block; width:100%; height:6px; margin:0 0 22px; accent-color:var(--purple) }
.busy-card progress { width:100%; accent-color:var(--purple) }
#download-progress-panel progress { width:100%; accent-color:var(--purple) }
#download-progress-panel p { font-size:13px }
.busy-overlay { z-index:200 }
.editor-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:12px }
.editor-toolbar details { position:relative }
.editor-toolbar summary { cursor:pointer; padding:12px; min-height:44px; border:1px solid var(--border); border-radius:7px; font-size:13px }
.more-tools { position:absolute; top:100%; left:0; z-index:25; display:flex; flex-direction:column; gap:6px; padding:10px; background:var(--bg); border:1px solid var(--border); border-radius:8px; box-shadow:0 4px 16px #0002; min-width:180px }
.selection-actions { display:flex; flex-wrap:wrap; gap:6px; width:100%; border-top:1px solid var(--border); padding-top:8px }
.scan-notice { grid-column:1; display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:14px; background:var(--surface); border:1px solid var(--border); font-size:13px }
.scan-notice span { flex:1; min-width:180px }
.editor-workspace #editor-panel { grid-template-columns:190px minmax(0,1fr) 225px; grid-template-rows:auto auto auto auto minmax(400px,1fr) auto }
.editor-workspace .scan-notice { grid-column:2; grid-row:2 }
.editor-workspace .editor-hint { grid-column:2; grid-row:3; font-size:12px }
.editor-workspace .viewer-controls { grid-column:2; grid-row:4; flex-wrap:wrap }
.editor-workspace .viewer-scroll { grid-column:2; grid-row:5; min-width:0 }
.editor-workspace .editor-foot { grid-column:2; grid-row:6; font-size:12px }
.editor-workspace .editor-settings { grid-column:3; grid-row:2/7; max-height:calc(100dvh - 160px); position:sticky; top:80px; overflow:auto; padding:14px }
.editor-pages { grid-column:1; grid-row:2/7; padding:12px; min-width:0; border-right:1px solid var(--border); position:sticky; top:80px; align-self:start; max-height:calc(100dvh - 160px); overflow:auto }
.editor-pages .properties-pages { display:block; border:0; padding:0; margin:0 }
.editor-pages .properties-pages>strong { font-size:12px }
.editor-settings label,.editor-settings .check-label { font-size:12px }
.editor-settings input[type=number],.editor-settings select { min-height:40px; font-size:13px }
.editor-page-card { margin-bottom:8px; padding:4px }
.editor-settings .properties-pages { order:-1; margin:0 0 12px; padding:0 0 12px; border-top:0; border-bottom:1px solid var(--border) }
#editor-page-list { grid-template-columns:1fr; max-height:340px; padding:2px }
.editor-page-thumb { min-height:44px }
.page-thumb-actions,.editor-page-card:nth-child(even) .page-thumb-actions { position:static; opacity:1; visibility:visible; pointer-events:auto; padding:2px; margin:auto; box-shadow:none; border:0; background:none; transform:none; width:100%; gap:2px }
.page-thumb-actions .icon-button { flex:1; min-width:44px; width:44px; height:44px; min-height:44px; padding:8px }
.editor-page-card:is(:hover,:focus-within):not(.dragging) { transform:none }
.page-selection-badge { bottom:52px }
.preview-loading { background:linear-gradient(110deg,#ddd5 20%,#ddd2 40%,#ddd5 60%) }
.redaction-box { border:2px solid transparent }
.redaction-box:is(:hover,:focus-within,.moving,.object-selected) { border:2px solid #9871f4; outline:2px solid #ffffff }
.redaction-box>.icon-button { display:none }
.redaction-box>.image-resize { width:44px; height:44px; min-width:44px; min-height:44px; right:-22px; bottom:-22px; padding:0; border:0; background:transparent; border-radius:0 }
.redaction-box>.image-resize::after { content:''; position:absolute; inset:14px; background:#8861d7; border:2px solid white; border-radius:3px; box-shadow:0 0 0 1px #322449 }
.redaction-box>.image-resize[data-corner=nw] { top:-22px; left:-22px; right:auto; bottom:auto; cursor:nwse-resize }
.redaction-box>.image-resize[data-corner=ne] { top:-22px; right:-22px; bottom:auto; cursor:nesw-resize }
.redaction-box>.image-resize[data-corner=sw] { bottom:-22px; left:-22px; right:auto; cursor:nesw-resize }
#redaction-properties { min-width:0; border:1px solid var(--border); border-radius:8px; padding:10px; margin:0 }
#redaction-properties legend { font-size:12px; font-weight:600 }
#redaction-properties p { font-size:12px; line-height:1.5; margin:6px 0 12px }
.redaction-measures { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:12px }
#redaction-properties .redaction-measures label { min-width:0; font-size:11px }
#redaction-properties input { width:100%; min-width:0 }
#redaction-properties .button { width:100%; margin:3px 0 }
.editor-settings.editing-redaction>:not(.properties-heading):not(.object-properties) { display:none!important }
.editor-settings.editing-redaction .object-properties { margin-top:0; border-top:0; padding-top:0 }
.thumbnail-card input[type=checkbox] { width:24px; height:24px }
.thumbnail-caption { font-size:14px }
.thumbnail-caption small { font-size:11px }
#numbering-options { margin:20px 0 8px; padding:14px; border:1px solid var(--border); border-radius:8px }
#numbering-options legend { font-weight:700 }
.numbering-choice { display:flex; align-items:start; gap:12px; padding:12px 4px; cursor:pointer }
.numbering-choice input { width:22px; height:22px; flex-shrink:0; margin:0 }
.numbering-choice span { display:flex; flex-direction:column; gap:5px; font-size:14px }
.numbering-choice small,#numbering-options p { color:var(--muted); font-size:12px; line-height:1.5 }
.image-editor-panel { border:1px solid var(--border); border-radius:12px; background:var(--bg); overflow:hidden }
.image-action-bar,.image-tools,.image-save-bar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:16px; border-bottom:1px solid var(--border) }
.image-action-bar>div:first-child { flex:1; min-width:160px; overflow-wrap:anywhere }
.image-action-bar p { font-size:12px; color:var(--muted); margin:6px 0 }
.image-action-bar select { max-width:240px }
.image-edit-layout { display:grid; grid-template-columns:minmax(0,1fr) 240px }
.image-preview-scroll { display:flex; align-items:start; justify-content:center; min-height:350px; max-height:75vh; overflow:auto; padding:24px; background:repeating-conic-gradient(#ddd5 0% 25%,#fff3 0% 50%) 0 / 20px 20px }
.image-preview { position:relative; max-width:100%; margin:auto; line-height:0 }
#image-editor-canvas { display:block; max-width:100%; height:auto; max-height:65vh; object-fit:contain; touch-action:none }
#image-crop-box { position:absolute; border:2px dashed #7654c6; background:#7654c622; pointer-events:none }
.image-properties { padding:16px; display:flex; flex-direction:column; gap:16px; border-left:1px solid var(--border) }
.image-properties fieldset { padding:12px; border:1px solid var(--border); border-radius:8px; min-width:0 }
.image-properties legend,.image-properties summary { font-size:14px; font-weight:600 }
.image-properties label,.image-save-bar label,.image-action-bar label { display:flex; flex-direction:column; gap:6px; font-size:13px; margin:8px 0 }
.image-properties .check-label { flex-direction:row; align-items:center; white-space:normal }
.image-properties input,.image-properties textarea,.image-properties select,.image-action-bar select,.image-save-bar select { width:100%; min-width:0; min-height:40px; padding:8px; border:1px solid var(--border); border-radius:6px; background:var(--bg); color:var(--ink) }
.image-properties input[type=range] { padding:0; accent-color:var(--purple) }
.image-properties input[type=checkbox] { width:22px; height:22px; min-height:0 }
.image-save-bar { justify-content:flex-end; position:sticky; bottom:0; background:var(--bg); z-index:10; border-top:1px solid var(--border) }
.image-properties details summary { cursor:pointer; min-height:44px; padding-top:12px }
[hidden] { display:none!important }
@media(max-width:800px) {
  .document-bar { top:64px }
  .workflow { font-size:11px; gap:6px }
  .image-edit-layout { grid-template-columns:1fr }
  .image-properties { flex-direction:row; flex-wrap:wrap; border-left:0 }
  .image-properties>* { flex:1; min-width:190px }
  .editor-workspace #editor-panel { display:flex; flex-direction:column }
  .editor-workspace .editor-settings { order:6; position:static; max-height:none; width:100%; overflow:visible; flex-wrap:wrap }
  .editor-pages { order:3; position:static; width:100%; max-height:none; border-right:0 }
  #editor-page-list { display:flex; overflow:auto; max-height:240px }
  .editor-toolbar { order:0 }
  .scan-notice { order:1 }
  .editor-hint { order:2 }
  .viewer-controls { order:4!important; max-width:100% }
  .viewer-scroll { order:5!important }
  .editor-foot { order:7!important }
  .editor-page-card { flex-basis:145px }
  .page-thumb-actions,.editor-page-card:nth-child(even) .page-thumb-actions { left:auto; right:auto; transform:none }
}
@media(max-width:520px) {
  .documents-list:has(>.document-card:only-child)>.document-card { display:block; min-width:0 }
  .history-actions { width:100% }
  #document-export { flex:1 }
  .document-bar { padding:10px!important }
  .image-save-bar { justify-content:stretch }
  .image-save-bar>* { flex:1; min-width:130px }
  .image-properties>* { min-width:100% }
  .viewer-controls label,.viewer-controls .zoom-controls { max-width:100%; flex-wrap:wrap }
  #current-page { max-width:140px }
}
