.pdf-tool main { max-width: 52rem; }
.pdf-tool .tool { margin-top: 1.5rem; }
.pdf-tool .tool h2:first-child { margin-top: 0; }
.pdf-tool .sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.pdf-tool .dropzone {
  border: 2px dashed var(--rule);
  padding: 1rem;
  margin: 1rem 0;
  min-height: 5rem;
}
.pdf-tool .dropzone.dragover { border-color: var(--indigo); background: var(--paper-2); }
.pdf-tool .dropzone .empty { color: var(--ink-soft); font-size: 0.85rem; margin: 0; }
.pdf-tool .filelist { margin: 0; }
.pdf-tool .filelist li { flex-wrap: wrap; }
.pdf-tool .filelist .fname {
  display: flex; flex: 1 1 15rem; min-width: 12rem; flex-direction: column; gap: 0.25rem;
}
.pdf-tool .filelist .fmeta { white-space: normal; overflow-wrap: anywhere; }
.pdf-tool .package-title { font-size: 0.9rem; padding: 0.45rem 0.5rem; }
.pdf-tool .package-options { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.8rem; }
.pdf-tool .package-option { display: inline-flex; align-items: center; gap: 0.3rem; margin: 0; white-space: nowrap; }
.pdf-tool .package-option input { margin: 0; }
.pdf-tool .row-actions { display: flex; gap: 0.3rem; }
.pdf-tool .row-actions button {
  min-width: 44px; min-height: 44px; padding: 0.35rem 0.55rem;
  color: var(--indigo); background: transparent; border: 1px solid var(--rule);
}
.pdf-tool .row-actions button[data-action="remove"] { color: var(--redletter); }
.pdf-tool .action-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.65rem; margin: 1rem 0; }
.pdf-tool .action-row button { min-height: 48px; }
.pdf-tool fieldset { border: 1px solid var(--rule); padding: 0.5rem 1rem 1rem; margin: 1.25rem 0; }
.pdf-tool legend {
  font-weight: 700; font-size: 0.75rem; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--ink-soft);
}
.pdf-tool .result { margin-top: 1rem; }
.pdf-tool .result .btn { margin-bottom: 0.5rem; }
.pdf-tool .err { color: var(--redletter); font-weight: 700; }
.pdf-tool .tool-links { margin-top: 2rem; font-family: var(--sans); font-size: 0.9rem; }
.pdf-tool .tool-links a { margin-right: 1rem; }

.form-workspace { margin-top: 1.5rem; }
.pdf-form-page main { max-width: 72rem; }
.pdf-form-editing .site-header,
.pdf-form-editing main > .eyebrow,
.pdf-form-editing main > h1,
.pdf-form-editing main > .lead,
.pdf-form-editing .tool > .privacy-line,
.pdf-form-editing main > .notice,
.pdf-form-editing main > .tool-links,
.pdf-form-editing .site-footer { display: none; }
.pdf-form-editing main { padding-top: 0.75rem; }
.pdf-form-editing .tool { margin-top: 0; }
.pdf-form-editing .form-workspace { margin-top: 0.5rem; }
.form-workspace h2 { margin-bottom: 0.75rem; }
.pdf-form-toolbar {
  display: flex; align-items: center; justify-content: center; gap: 0.6rem;
  margin-bottom: 0.8rem;
}
.pdf-form-toolbar button { min-width: 44px; min-height: 44px; padding: 0.45rem 0.75rem; }
.pdf-form-toolbar .page-status { min-width: 7rem; text-align: center; }
.pdf-form-stage-wrap {
  overflow: auto; max-height: 75vh; padding: 0.75rem; background: #5a5a5a;
  border: 1px solid var(--rule); text-align: center;
}
.pdf-form-stage { position: relative; display: inline-block; line-height: 0; background: #fff; }
.pdf-form-stage canvas { display: block; max-width: none; }
#form-fields { position: absolute; inset: 0; margin: 0; padding: 0; }
#form-fields .pdf-form-widget {
  position: absolute; box-sizing: border-box; margin: 0; min-width: 0; min-height: 0;
  padding: 1px 2px; border: 2px solid transparent;
  border-radius: 0; color: #111; background: rgba(0, 54, 255, 0.13);
  font-family: sans-serif; line-height: normal;
}
#form-fields textarea.pdf-form-widget { padding: 1px 2px; resize: none; }
#form-fields .pdf-form-widget:focus { outline: 2px solid #215a96; outline-offset: 0; background: #fff; z-index: 2; }
#form-fields .pdf-form-widget-checkbox,
#form-fields .pdf-form-widget-radio { padding: 0; accent-color: #174f84; }
#form-fields .pdf-form-widget-readonly { border-color: transparent; background: rgba(255, 255, 255, 0.78); }

.redact-workspace { margin-top: 1rem; }
.redact-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: 0.8rem; }
.redact-toolbar button { min-width: 44px; min-height: 44px; padding: 0.5rem 0.75rem; }
.redact-toolbar .page-status { min-width: 7rem; text-align: center; }
.redact-stage-wrap {
  overflow: auto; max-height: 70vh; padding: 0.75rem; background: #5a5a5a;
  border: 1px solid var(--rule); text-align: center;
}
.redact-stage { position: relative; display: inline-block; line-height: 0; touch-action: none; }
.redact-stage canvas { display: block; max-width: none; }
#redact-overlay { position: absolute; inset: 0; cursor: crosshair; }
.redaction-count { color: var(--ink-soft); font-size: 0.82rem; }

@media (max-width: 560px) {
  .pdf-form-stage-wrap { max-height: 62vh; padding: 0.4rem; }
  .redact-stage-wrap { max-height: 58vh; }
}
