/* HeyMyPDF v5.17 — restrained, contemporary task-first tool pages.
 * Visual layer only. This deliberately does not change PDF controls,
 * navigation geometry, event handlers, editor canvas dimensions, or exports.
 * Keep last in stylesheet order and maintain one common source file.
 */
:root {
 --v517-ink:#142a58;
 --v517-muted:#526b91;
 --v517-line:#dce6f7;
 --v517-blue:#2767f6;
 --v517-tint:#f6f9ff;
 --v517-corner:20px;
}
/* Browser-side utility pages: compact, clear, visually balanced */
.bt-main {
 box-sizing:border-box; max-width:1240px!important;
 padding:clamp(22px,3vw,38px) clamp(18px,2.8vw,34px) 66px!important;
}
.bt-main .bt-intro {
 box-sizing:border-box; position:relative; min-width:0;
 display:grid; grid-template-columns:minmax(0,1fr) minmax(245px,335px);
 grid-template-rows:auto auto auto auto;column-gap:clamp(20px,3.2vw,46px);
 align-items:start; margin-bottom:10px!important;
}
.bt-main .bt-intro>.back-link{display:none!important;}
.bt-main .bt-intro>.back-link:hover{color:#1f61e9!important;text-decoration:underline}
.bt-main .bt-intro>.overline{grid-column:1;grid-row:1;display:inline-block;width:max-content;
 border-radius:100px; border:1px solid #dce8fd; padding:5px 10px;
 background:#eaf2ff;color:#365fb6!important;font:750 10px/1.5 system-ui,'Segoe UI',sans-serif!important;
 letter-spacing:.09em!important;}
.bt-main .bt-intro>h1 {grid-column:1;grid-row:2;max-width:780px;margin:4px 0 3px!important;
 font-family:Inter,'Segoe UI',system-ui,sans-serif!important;font-size:clamp(22px,2.6vw,32px)!important;
 font-weight:840!important;line-height:1.13!important;letter-spacing:-.045em!important;
 color:var(--v517-ink)!important;text-wrap:balance;}
.bt-main .bt-intro>p {grid-column:1;grid-row:3;max-width:670px;margin:5px 0!important;
 color:var(--v517-muted)!important;font:400 clamp(14px,1.3vw,16px)/1.65 system-ui,'Segoe UI',sans-serif!important;}
.bt-main .bt-intro>.bt-privacy {grid-column:2;grid-row:1/4;align-self:center;min-width:0;
 display:flex;flex-direction:column;gap:9px;box-sizing:border-box;
 margin:0!important;padding:10px 14px!important;
 border:1px solid #cbdff7!important;border-radius:18px!important;
 color:#244778!important;background:linear-gradient(135deg,#eaf8fc 0%,#eff3ff 100%)!important;
 box-shadow:0 6px 20px rgba(34,91,155,.055)!important;
}
.bt-main .bt-intro>.bt-privacy strong{font:750 14px/1.45 system-ui,'Segoe UI',sans-serif!important;color:#164f69!important;}
.bt-main .bt-intro>.bt-privacy span{font:400 13px/1.55 system-ui,'Segoe UI',sans-serif!important;color:#3f5d76!important;}
/* Remove conspicuously empty advertising columns from document handling pages.
   When an ad network is approved, switch to an explicitly separate info/ad view. */
.bt-main .bt-layout {grid-template-columns:minmax(0,1fr)!important;gap:0!important;}
.bt-main .bt-layout>.bt-ad {display:none!important;}
.bt-main .bt-studio {min-width:0;padding:clamp(17px,2.4vw,28px)!important;
 border:1px solid #dbe6fa!important;border-radius:22px!important;background:#fff!important;
 box-shadow:0 15px 45px rgba(37,75,147,.075)!important;}
.bt-main .bt-upload {min-height:130px;box-sizing:border-box;
 border:1.5px dashed #a9c5fb!important;border-radius:16px!important;
 background:linear-gradient(115deg,#f1f7ff 0%,#f7f9ff 70%,#f9f6ff 100%)!important;
 padding:14px 16px!important;}
.bt-main .bt-upload label {min-height:76px!important;gap:9px!important;display:flex!important;
 flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.bt-main .bt-upload label b {min-height:42px!important;padding:9px 19px!important;
 border-radius:11px!important;font:750 15px/1.5 system-ui,'Segoe UI',sans-serif!important;
 color:white!important;background:linear-gradient(115deg,#318bff,#285df1)!important;
 box-shadow:0 6px 15px rgba(31,99,229,.18)!important;}
.bt-main .bt-upload label span {font:400 12px/1.5 system-ui,'Segoe UI',sans-serif!important;
 color:#587399!important;}
.bt-main .bt-fileinfo {min-height:24px;padding:14px 0 12px!important;
 font:500 13px/1.5 system-ui,'Segoe UI',sans-serif!important;color:#557093!important;}
.bt-main .bt-options {min-width:0;gap:13px!important;}
.bt-main .bt-options label {color:#314c76!important;font-size:13px!important;}
.bt-main .bt-options input,.bt-main .bt-options select,.bt-main .bt-options textarea {
 color:#142d58!important;border:1px solid #cedcf2!important;border-radius:10px!important;
 background-color:#fff!important;min-height:40px;box-sizing:border-box;}
.bt-main .bt-options input[type=checkbox],.bt-main .bt-options input[type=radio]{min-height:initial;}
.bt-main .bt-run {margin:17px 0 2px!important;min-height:43px!important;border-radius:11px!important;
 padding:10px 19px!important;font:750 14px/1.4 system-ui,'Segoe UI',sans-serif!important;}
.bt-main .bt-status {font:500 13px/1.55 system-ui,'Segoe UI',sans-serif!important;}
.bt-main .bt-output {min-width:0;background:#f7faff!important;border:1px solid #e0e9fa!important;
 border-radius:15px!important;overflow-wrap:anywhere;}
.bt-main .bt-copy {max-width:none!important;margin:30px 0 0!important;
 box-sizing:border-box;padding:23px 28px!important;
 border:1px solid #e4eafa!important;background:#fff!important;border-radius:18px!important;
 box-shadow:0 8px 22px rgba(30,67,132,.04)!important;
 font:400 14px/1.75 system-ui,'Segoe UI',sans-serif!important;color:#4a6386!important;}
.bt-main .bt-copy h2 {margin:16px 0 5px!important;font:750 19px/1.4 system-ui,'Segoe UI',sans-serif!important;
 color:#203a6b!important;letter-spacing:-.02em!important;}
.bt-main .bt-copy h2:first-child{margin-top:0!important;}
.bt-main .bt-copy p {margin:0 0 13px!important;font:400 14px/1.75 system-ui,'Segoe UI',sans-serif!important;}
.bt-main .bt-copy a{color:#255fed;text-underline-offset:3px;}
.bt-main .bt-bottom-ad{display:none!important;}
/* Policy and terms pages: replace dated oversized serif styling with readable product documentation. */
.policy-page {max-width:970px!important;padding-top:clamp(26px,5vw,58px)!important;}
.policy-page h1{font:820 clamp(33px,4vw,48px)/1.15 system-ui,'Segoe UI',sans-serif!important;
 letter-spacing:-.04em!important;color:#193466!important;margin:20px 0 19px!important;}
.policy-page h2{font:750 20px/1.4 system-ui,'Segoe UI',sans-serif!important;color:#1e3769!important;}
.policy-page p,.policy-page li{font:400 15px/1.75 system-ui,'Segoe UI',sans-serif!important;color:#4c6485!important;}
/* Respect devices, accessibility and the user's text direction. */
@media(max-width:900px){
 .bt-main .bt-intro {grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto;row-gap:0;}
 .bt-main .bt-intro>.back-link,.bt-main .bt-intro>.overline,.bt-main .bt-intro>h1,.bt-main .bt-intro>p,
 .bt-main .bt-intro>.bt-privacy {grid-column:1;grid-row:auto;}
 .bt-main .bt-intro>.bt-privacy{margin:16px 0 0!important;padding:15px 18px!important;}
}
@media(max-width:560px){
 .bt-main {padding:16px 14px 44px!important;}
 .bt-main .bt-intro>h1{font-size:clamp(27px,7.6vw,36px)!important;}
 .bt-main .bt-studio{padding:14px!important;border-radius:17px!important;}
 .bt-main .bt-upload{padding:14px!important;min-height:115px!important;}
 .bt-main .bt-upload label{min-height:93px!important;}
 .bt-main .bt-copy{padding:18px!important;}
 .bt-main .bt-options .bt-field-row{grid-template-columns:minmax(0,1fr)!important;}
 .bt-main .bt-intro>.bt-privacy span{font-size:12px!important;}
}
@media(prefers-reduced-motion:reduce){.bt-main *{scroll-behavior:auto!important;}}

/* Dedicated OCR surface — no extraneous blank ad blocks over working tools. */
.pc-section:has(.hm-ocr-modern){max-width:1220px!important;width:calc(100% - 36px)!important;margin:0 auto!important;padding-top:24px!important;}
.pc-section:has(.hm-ocr-modern) .hm-mini-heading{padding:0 0 18px!important;}
.pc-section:has(.hm-ocr-modern) .hm-mini-heading h1{font:830 clamp(28px,3.1vw,38px)/1.18 system-ui,'Segoe UI',sans-serif!important;letter-spacing:-.04em!important;color:#142d63!important;margin:12px 0 6px!important;}
.pc-section:has(.hm-ocr-modern) .hm-mini-heading p{font-size:15px!important;line-height:1.6!important;color:#526c90!important;}
.pc-section:has(.hm-ocr-modern) .hm-ocr-trust{display:inline-flex;align-items:center;gap:6px;margin:0 0 14px!important;padding:7px 12px!important;border-radius:30px;background:#e8f7f5;font-size:12px!important;color:#146f62!important;}
.pc-section .hm-ocr-modern{padding:clamp(17px,2.8vw,32px)!important;border-radius:20px!important;box-shadow:0 15px 43px rgba(33,70,135,.07)!important;}
.pc-section .hm-ocr-modern progress{appearance:none;width:100%;height:9px!important;border:0!important;border-radius:20px!important;background:#e4edfc!important;overflow:hidden;}
.pc-section .hm-ocr-modern progress::-webkit-progress-bar{background:#e4edfc;border-radius:20px;}
.pc-section .hm-ocr-modern progress::-webkit-progress-value{background:linear-gradient(90deg,#499dff,#496aff);border-radius:20px;}
.pc-section .hm-ocr-modern progress::-moz-progress-bar{background:#437dff;border-radius:20px;}
.pc-section .hm-ocr-modern textarea{border-radius:12px!important;background:#f8fbff!important;min-height:190px;}
.pc-section:has(.hm-ocr-modern) .pc-ad{display:none!important;}
/* Compression workspace follows the same blue product language while retaining
   its distinct server-upload disclosure and consent gate. */
main:has(.compression-studio) .hm-tool-title h1{font-size:clamp(29px,3vw,41px)!important;font-weight:830!important;line-height:1.16!important;letter-spacing:-.035em!important;}
main:has(.compression-studio) .hm-tool-title p{font-size:15px!important;line-height:1.6!important;color:#536b91!important;}
main:has(.compression-studio) .compression-privacy{background:linear-gradient(115deg,#eef9fa,#f3f5ff)!important;border:1px solid #cfdeef!important;box-shadow:0 7px 22px rgba(27,68,128,.055)!important;border-radius:17px!important;}
main:has(.compression-studio) .ad-neighbor{grid-template-columns:minmax(0,1fr)!important;}
main:has(.compression-studio) .ad-rail{display:none!important;}
main:has(.compression-studio) .compression-studio{max-width:1310px;margin:0 auto!important;
 background:#fff!important;border-color:#dce7f8!important;border-radius:22px!important;
 box-shadow:0 14px 45px rgba(35,73,138,.075)!important;padding:clamp(18px,3vw,34px)!important;}
main:has(.compression-studio) .compression-studio h2{font:780 24px/1.35 system-ui,'Segoe UI',sans-serif!important;letter-spacing:-.02em!important;color:#19346a!important;}
main:has(.compression-studio) .compression-studio>p{font-size:14px!important;color:#586d8c!important;}
main:has(.compression-studio) .compression-drop{padding:19px!important;margin:17px 0 15px!important;background:linear-gradient(110deg,#f1f7ff,#f7f8ff)!important;border:1.5px dashed #acc9f8!important;border-radius:16px!important;}
main:has(.compression-studio) .compression-drop .drop-icon{margin-bottom:6px!important;background:#e2ecff!important;color:#2864ed!important;width:43px;height:43px;}
main:has(.compression-studio) .compression-drop strong{font:750 16px/1.45 system-ui,'Segoe UI',sans-serif!important;color:#22549d!important;}
main:has(.compression-studio) .compression-drop span{color:#5977a1!important;}
main:has(.compression-studio) .compression-option{border:1px solid #dce6f7!important;border-radius:15px!important;min-height:114px!important;}
main:has(.compression-studio) .compression-option:has(input:checked){background:#edf4ff!important;border:2px solid #4a83f5!important;}
main:has(.compression-studio) .compression-option input{accent-color:#2868ea!important;}
main:has(.compression-studio) .compression-option strong{color:#27466f!important;}
main:has(.compression-studio) .compression-option small{color:#526b89!important;}
main:has(.compression-studio) .compression-option em{color:#2b61bd!important;}
main:has(.compression-studio) .compression-submit,
main:has(.compression-studio) .compression-result button{background:linear-gradient(112deg,#3084fc,#2e5eea)!important;box-shadow:0 6px 18px rgba(25,82,180,.18);}
main:has(.compression-studio) .compression-consent{background:#fff9ed!important;border-color:#ebdfc8!important;color:#66542f!important;}
main:has(.compression-studio) .compression-progress progress{appearance:none;background:#e6ecf8!important;accent-color:#3079eb!important;}
main:has(.compression-studio) .compression-progress progress::-webkit-progress-bar{background:#e6ecf8!important;}
main:has(.compression-studio) .compression-progress progress::-webkit-progress-value{background:#347afa!important;}
main:has(.compression-studio) .compression-result{background:#edf6ff!important;border-color:#c9e1fa!important;}
main:has(.compression-studio) .compression-result-grid strong{color:#22477b!important;}
@media(max-width:650px){
 .pc-section:has(.hm-ocr-modern){width:calc(100% - 28px)!important;padding-top:18px!important;}
 main:has(.compression-studio) .compression-option{min-height:0!important;}
 main:has(.compression-studio) .compression-studio{padding:18px!important;}
}

/* Form widgets: a natural reading sequence rather than an endless single column. */
[data-browser-tool="fill-pdf"] .bt-options:has(input,select){
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px!important;
 padding-top:14px;border-top:1px solid #e8edf8;
}
[data-browser-tool="fill-pdf"] .bt-options>label{min-width:0!important;
 padding:12px 14px!important;background:#f7faff;border:1px solid #e1eafb;
 border-radius:12px;font-size:13px!important;}
[data-browser-tool="fill-pdf"] .bt-options>label:has(input[type=checkbox]){
 display:flex!important;justify-content:space-between;align-items:center;gap:12px;}
[data-browser-tool="fill-pdf"] .bt-options>label input[type=checkbox]{width:20px!important;height:20px!important;flex-shrink:0;accent-color:#316ced!important;}
[data-browser-tool="fill-pdf"] .bt-options>.bt-note,
[data-browser-tool="fill-pdf"] .bt-options>.bt-form-help{grid-column:1/-1;}
[data-browser-tool="fill-pdf"] .bt-run:disabled{cursor:not-allowed;opacity:.55;}
@media(max-width:650px){[data-browser-tool="fill-pdf"] .bt-options:has(input,select){grid-template-columns:minmax(0,1fr)!important;}}
/* v5.18: keep native OCR upload control accessible, but out of visual layout. */
.hm-ocr-modern {position:relative;}
.hm-ocr-modern input.hm-ocr-file-input {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  overflow:hidden!important;
  clip-path:inset(50%);
}


/* HeyMyPDF Modern Task & Warning Modal Dialog */
.hm-modal-backdrop {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(15, 23, 42, 0.48) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 999999 !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  animation: hmModalFadeIn 0.15s ease-out !important;
}

@keyframes hmModalFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.hm-modal-dialog {
  background: #ffffff !important;
  border-radius: 18px !important;
  box-shadow: 0 20px 45px -10px rgba(15, 23, 42, 0.28), 0 0 0 1px rgba(15, 23, 42, 0.08) !important;
  width: 100% !important;
  max-width: 460px !important;
  padding: 24px 26px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  animation: hmModalPop 0.18s cubic-bezier(0.16, 1, 0.3, 1) !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

@keyframes hmModalPop {
  from { opacity: 0; transform: scale(0.96) translateY(6px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.hm-modal-icon-badge {
  width: 44px !important;
  height: 44px !important;
  border-radius: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  background: #fef3c7 !important;
  color: #d97706 !important;
  margin-bottom: 2px !important;
}

.hm-modal-icon-badge.info {
  background: #e0f2fe !important;
  color: #0284c7 !important;
}

.hm-modal-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.hm-modal-title {
  margin: 0 !important;
  font-size: 19px !important;
  font-weight: 750 !important;
  color: #0f172a !important;
  line-height: 1.3 !important;
}

.hm-modal-desc {
  margin: 0 !important;
  font-size: 14px !important;
  color: #475569 !important;
  line-height: 1.55 !important;
}

.hm-modal-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin-top: 6px !important;
}

.hm-modal-btn {
  padding: 9px 18px !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  font-family: inherit !important;
  outline: none !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}

.hm-modal-btn:focus-visible {
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.35) !important;
}

.hm-modal-btn-cancel {
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  color: #334155 !important;
}

.hm-modal-btn-cancel:hover {
  background: #f1f5f9 !important;
  border-color: #94a3b8 !important;
  color: #0f172a !important;
}

.hm-modal-btn-confirm {
  background: #2563eb !important;
  border: 1px solid #2563eb !important;
  color: #ffffff !important;
  box-shadow: 0 2px 5px rgba(37, 99, 235, 0.25) !important;
}

.hm-modal-btn-confirm:hover {
  background: #1d4ed8 !important;
  border-color: #1d4ed8 !important;
}
