body[data-tool="conversor-documentos"] .document-workflow { padding-bottom: 1.5rem; }
body[data-tool="conversor-documentos"] .document-workflow h2 { margin-bottom: .45rem; }
body[data-tool="conversor-documentos"] .document-workflow h2::before { content: "PDF"; }
.document-intro { max-width: 56ch; margin: 0 0 1.5rem; color: #526772; line-height: 1.5; }
.document-stage { padding: 1.2rem 0; border-top: 1px solid #dce6e7; }
.document-stage-label { display: flex; align-items: center; gap: .65rem; margin: 0 0 .9rem; color: #12324a; font-size: .96rem; font-weight: 850; }
.document-stage-label span { color: #b94f29; font: 800 .76rem/1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.document-drop { min-height: 124px; display: flex; align-items: center; gap: 1rem; padding: 1rem; border: 2px dashed #a9c4cb; border-radius: 14px; background: #f5f9f9; cursor: pointer; transition: border-color .15s, background .15s; }
.document-drop:hover, .document-drop:focus-within { border-color: #f26b38; background: #fff7f2; }
.document-drop:focus-within { outline: 3px solid rgba(242, 107, 56, .34); outline-offset: 2px; }
.document-sheet { width: 55px; height: 68px; flex: none; display: grid; place-items: center; border: 1px solid #b9c9cd; border-radius: 5px 13px 5px 5px; background: #fff; color: #b94f29; box-shadow: 3px 4px 0 #dce8e9; font: 850 .76rem/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .08em; }
.document-drop-copy { min-width: 0; display: grid; gap: .25rem; }
.document-drop-copy strong { color: #12324a; font-size: 1.05rem; }
.document-drop-copy small { color: #526772; font-size: .83rem; line-height: 1.4; }
.document-pick { margin-left: auto; padding: .55rem .75rem; border: 1px solid #a9c4cb; border-radius: 8px; background: #fff; color: #12324a; font-size: .82rem; font-weight: 800; }
.document-file-name { margin: .65rem 0 0; color: #526772; font-size: .85rem; overflow-wrap: anywhere; }
.document-file-name.has-file { color: #176582; font-weight: 750; }
.document-modes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.document-mode { min-width: 0; min-height: 122px; display: grid; align-content: start; gap: .35rem; padding: 1rem; border: 1px solid #c9d8dc; border-left: 4px solid #c9d8dc; border-radius: 11px; background: #f8faf9; color: #12324a; text-align: left; cursor: pointer; }
.document-mode:hover { border-color: #f26b38; }
.document-mode.is-selected { border-color: #f26b38; background: #fff4ee; box-shadow: 0 7px 20px rgba(242, 107, 56, .1); }
.document-mode-type { color: #b94f29; font: 800 .72rem/1.3 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .05em; }
.document-mode strong { font-size: 1rem; }
.document-mode small { color: #526772; font-size: .8rem; line-height: 1.35; }
.document-mode:focus-visible { outline: 3px solid rgba(242, 107, 56, .38); outline-offset: 2px; }
.document-settings { margin-bottom: 1rem; padding: 1rem; border: 1px solid #d4e2e2; border-radius: 11px; background: #f5f9f9; }
.document-settings[hidden] { display: none; }
.document-settings-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #12324a; font-size: .9rem; font-weight: 800; }
.document-settings input { margin: .65rem 0 0; min-height: 28px; accent-color: #f26b38; }
.document-settings p { margin: .25rem 0 0; color: #526772; font-size: .82rem; line-height: 1.4; }
.document-submit { width: 100%; margin: .25rem 0 .9rem; }
.document-status { margin: 0; color: #526772; font-size: .87rem; line-height: 1.5; }
body[data-tool="conversor-documentos"] .document-result { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1.3rem; background: #f4f8f7; }
body[data-tool="conversor-documentos"] .document-result output { font-size: clamp(1.15rem, 2.8vw, 1.6rem); }
body[data-tool="conversor-documentos"] .document-result .button { flex: none; }
.document-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 620px) {
  .document-modes { grid-template-columns: 1fr; }
  .document-mode { min-height: 0; }
  .document-pick { display: none; }
  body[data-tool="conversor-documentos"] .document-result { align-items: stretch; flex-direction: column; }
  body[data-tool="conversor-documentos"] .document-result .button { width: 100%; }
}
