/* asset build v20 — change-PDF controls + selection polish */
:root{
  --suite-bg:#edf7fc;--suite-panel:#fff;--suite-panel-soft:#f5faff;--suite-text:#0d2235;--suite-muted:#5f7487;
  --suite-border:#cbdbe6;--suite-border-strong:#a9c3d3;--suite-accent:#0b91ad;--suite-accent-2:#5f67f7;
  --suite-danger:#c73737;--suite-warning:#f5b83b;--suite-shadow:0 20px 50px rgba(15,43,66,.12);--suite-radius:18px;
  --suite-header:72px;--suite-topbar:72px;--suite-mobile-primary:0px;
}
html[data-theme="dark"]{--suite-bg:#07121f;--suite-panel:#0d1c2b;--suite-panel-soft:#102638;--suite-text:#eff8ff;--suite-muted:#a6bac9;--suite-border:#294258;--suite-border-strong:#3f5f75;--suite-shadow:0 20px 50px rgba(0,0,0,.32)}
*{box-sizing:border-box}.pdf-suite-page{background:var(--suite-bg);color:var(--suite-text);min-height:100vh;overflow-x:hidden}.pdf-suite-header{position:sticky;top:0;z-index:90}.pdf-suite-head-actions{display:flex;align-items:center;gap:10px}.pdf-local-pill{height:42px;padding:0 13px;border:1px solid var(--suite-border);border-radius:999px;display:flex;align-items:center;gap:7px;color:var(--suite-muted);font-size:.84rem;background:var(--suite-panel)}.pdf-suite-icon-btn,.suite-tool-btn,.element-btn,.redact-toolbar-grid button,.mobile-sign-toolbar button,.mobile-redact-toolbar button,.security-tabs button,.mini-actions button,.find-nav button{min-width:48px;min-height:48px}.pdf-suite-icon-btn{display:grid;place-items:center;border:1px solid var(--suite-border);border-radius:14px;background:var(--suite-panel);color:var(--suite-text);font-size:1.45rem;text-decoration:none}.pdf-suite-main{min-height:calc(100vh - var(--suite-header));}.pdf-suite-mode{min-height:calc(100vh - var(--suite-header));}.pdf-suite-topbar{height:var(--suite-topbar);display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(210px,1fr);align-items:center;gap:14px;padding:10px 18px;border-bottom:1px solid var(--suite-border);background:color-mix(in srgb,var(--suite-panel) 94%,transparent);position:sticky;top:var(--suite-header);z-index:70;backdrop-filter:blur(14px)}.pdf-suite-title{display:flex;align-items:center;gap:12px;min-width:0}.suite-title-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#dff9ff,#dbe3ff);color:#075f74;font-size:1.2rem;flex:0 0 auto}.pdf-suite-title small{font-weight:800;color:var(--suite-accent);letter-spacing:.08em;font-size:.67rem}.pdf-suite-title h1{font-size:1.18rem;line-height:1.1;margin:2px 0 0}.viewer-toolbar{display:flex;align-items:center;gap:7px;padding:4px;border:1px solid var(--suite-border);background:var(--suite-panel);border-radius:14px;white-space:nowrap}.suite-tool-btn{border:0;background:transparent;color:var(--suite-text);border-radius:10px;padding:0 12px;font:inherit;font-weight:700}.suite-tool-btn:hover{background:var(--suite-panel-soft)}.suite-tool-btn:active{transform:scale(.97)}.suite-tool-btn:focus-visible,.element-btn:focus-visible,.redact-toolbar-grid button:focus-visible,.security-tabs button:focus-visible,.suite-primary:focus-visible,.suite-secondary:focus-visible{outline:3px solid color-mix(in srgb,var(--suite-accent) 45%,transparent);outline-offset:2px}.suite-tool-text{font-size:.78rem;min-width:auto}.page-readout,.zoom-readout{min-width:50px;text-align:center;color:var(--suite-muted);font-size:.82rem}.toolbar-divider{width:1px;height:28px;background:var(--suite-border)}.suite-primary,.suite-secondary{min-height:52px;border-radius:14px;padding:0 26px;font:inherit;font-weight:800;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.suite-primary{border:0;background:linear-gradient(120deg,#51dff1,#6c6cf5);color:#07111f;box-shadow:0 9px 20px rgba(37,156,194,.2)}.suite-secondary{border:1px solid var(--suite-border-strong);background:var(--suite-panel);color:var(--suite-text)}.suite-primary:hover{box-shadow:0 12px 26px rgba(37,156,194,.28)}.suite-primary:active,.suite-secondary:active{transform:translateY(1px) scale(.985)}.suite-primary:disabled,.suite-secondary:disabled{opacity:.46;cursor:not-allowed;box-shadow:none}.top-primary{justify-self:end;min-width:160px}.wide{width:100%}.pdf-suite-stage{height:calc(100vh - var(--suite-header) - var(--suite-topbar));min-height:520px;display:grid;grid-template-columns:176px minmax(0,1fr) 312px;background:var(--suite-bg)}.pdf-pages-panel,.pdf-tools-panel{background:var(--suite-panel);min-width:0}.pdf-pages-panel{border-right:1px solid var(--suite-border);padding:14px 10px;overflow:hidden}.pdf-tools-panel{border-left:1px solid var(--suite-border);overflow:hidden}.panel-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:var(--suite-muted);margin:2px 4px 12px}.thumbnail-list{height:calc(100% - 30px);overflow:auto;display:flex;flex-direction:column;align-items:center;gap:10px;overscroll-behavior:contain}.thumb-item{width:118px;min-height:148px;border:2px solid transparent;border-radius:10px;background:var(--suite-panel-soft);padding:7px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px}.thumb-item.active{border-color:#2678ff}.thumb-item canvas{display:block;max-width:100%;height:auto;background:white;box-shadow:0 2px 8px rgba(0,0,0,.12)}.thumb-item span{font-size:.75rem;color:var(--suite-muted)}.pdf-canvas-region{position:relative;min-width:0;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--suite-bg) 90%,#c5d9e6),var(--suite-bg))}.pdf-empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;gap:12px}.empty-icon{width:72px;height:72px;border-radius:20px;background:var(--suite-panel);display:grid;place-items:center;font-weight:900;color:var(--suite-accent);box-shadow:var(--suite-shadow)}.pdf-empty-state h2{margin:3px 0 0;font-size:1.4rem}.pdf-empty-state p{margin:0;max-width:470px;color:var(--suite-muted)}.pdf-empty-state small{color:var(--suite-muted)}.file-picker{display:inline-flex;align-items:center;justify-content:center}.pdf-viewport{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;background:transparent}.page-centering-layer{min-width:100%;min-height:100%;width:max-content;height:max-content;padding:30px;display:flex;align-items:flex-start;justify-content:center}.pdf-page-shell{position:relative;flex:0 0 auto;background:white;box-shadow:0 18px 45px rgba(15,35,50,.18);transform-origin:0 0;will-change:transform}.pdf-page-shell canvas{display:block;max-width:none}.placement-layer,.redaction-layer,.guide-layer{position:absolute;inset:0;pointer-events:none}.placement-layer>*{pointer-events:auto}.field-overlay{position:absolute;border:1.5px solid transparent;touch-action:none;user-select:none;display:flex;align-items:center;justify-content:center;transform-origin:0 0;cursor:move;overflow:visible}.field-overlay.selected{border-color:#2678ff;box-shadow:0 0 0 1px rgba(255,255,255,.9)}.field-overlay img{width:100%;height:100%;object-fit:contain;pointer-events:none}.field-overlay .field-text{font-family:Arial,sans-serif;font-size:14px;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 4px;pointer-events:none}.resize-handle{position:absolute;width:16px;height:16px;border-radius:50%;right:-9px;bottom:-9px;background:#2678ff;border:2px solid white;display:none;cursor:nwse-resize}.field-overlay.selected .resize-handle{display:block}.guide-line{position:absolute;background:#08a6c2;pointer-events:none}.guide-line.v{width:1px;top:0;bottom:0}.guide-line.h{height:1px;left:0;right:0}.suite-inline-status{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);min-height:32px;max-width:min(560px,80%);padding:7px 12px;border-radius:999px;background:color-mix(in srgb,var(--suite-panel) 94%,transparent);color:var(--suite-muted);font-size:.8rem;z-index:20;pointer-events:none}.panel-scroll{height:100%;overflow:auto;padding:14px 16px 120px;overscroll-behavior:contain}.tool-block{padding:14px 0;border-bottom:1px solid var(--suite-border)}.element-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.element-btn,.redact-toolbar-grid button{border:1px solid var(--suite-border);background:var(--suite-panel);color:var(--suite-text);border-radius:12px;padding:8px 6px;font:inherit;font-size:.74rem;font-weight:750;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.element-btn span{font-size:1.1rem}.element-btn.active,.redact-toolbar-grid button.active{border-color:#4d6eff;background:color-mix(in srgb,#5574ff 10%,var(--suite-panel));color:#244bd1}.segmented{display:grid;grid-template-columns:repeat(3,1fr);background:var(--suite-panel-soft);padding:4px;border-radius:12px;margin-bottom:12px}.segmented button{min-height:42px;border:0;background:transparent;color:var(--suite-muted);border-radius:9px;font:inherit;font-weight:800}.segmented button.active{background:var(--suite-panel);color:var(--suite-text);box-shadow:0 2px 8px rgba(0,0,0,.08)}.suite-field{display:grid;gap:7px;margin:10px 0}.suite-field>span{font-size:.82rem;font-weight:750;color:var(--suite-muted)}.suite-field input,.suite-field select,.password-field>div{width:100%;min-height:48px;border:1px solid var(--suite-border);border-radius:12px;background:var(--suite-panel);color:var(--suite-text);font:inherit;padding:0 12px}.suite-field input[type="range"]{padding:0}.password-field>div{display:flex;padding:0}.password-field>div input{border:0;min-width:0;flex:1;background:transparent;color:inherit;padding:0 12px;font:inherit}.password-field>div button{min-width:56px;border:0;border-left:1px solid var(--suite-border);background:transparent;color:var(--suite-muted);font:inherit;font-weight:700}.signature-style-list{display:grid;gap:7px}.signature-style{min-height:58px;border:1px solid var(--suite-border);border-radius:12px;background:var(--suite-panel);color:var(--suite-text);font-size:1.8rem;padding:3px 14px;text-align:left}.signature-style:nth-child(1){font-family:"Segoe Script","Brush Script MT",cursive}.signature-style:nth-child(2){font-family:"Brush Script MT","Segoe Script",cursive;font-style:italic}.signature-style:nth-child(3){font-family:"Comic Sans MS","Segoe Print",cursive;font-style:italic}.signature-style.active{border:2px solid #4f6df4}.signature-color-row{display:flex;gap:9px;margin:10px 0}.ink{width:34px;height:34px;border-radius:50%;border:3px solid var(--suite-panel);box-shadow:0 0 0 1px var(--suite-border);background:#111827}.ink:nth-child(2){background:#0b4da2}.ink:nth-child(3){background:#7f1d1d}.ink.active{box-shadow:0 0 0 3px #55cbea}.sign-pane canvas{width:100%;height:auto;aspect-ratio:3/1;background:white;border:1px solid var(--suite-border);border-radius:12px;touch-action:none}.mini-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.mini-actions button,.find-nav button{min-height:44px;padding:0 12px;border:1px solid var(--suite-border);background:var(--suite-panel);border-radius:10px;color:var(--suite-text);font:inherit;font-weight:700}.mini-actions .danger{color:var(--suite-danger);border-color:color-mix(in srgb,var(--suite-danger) 40%,var(--suite-border))}.mini-actions label{display:flex;align-items:center;gap:8px;color:var(--suite-muted);font-size:.8rem}.signature-upload{min-height:70px;border:1px dashed var(--suite-border-strong);border-radius:12px;display:grid;place-items:center;color:var(--suite-accent);font-weight:800;cursor:pointer}.signature-upload-preview{margin-top:10px;border-radius:10px;background:white;padding:10px}.signature-upload-preview img{display:block;max-width:100%;max-height:100px;margin:auto}.numeric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.suite-disclosure,.helper-copy{font-size:.78rem;line-height:1.45;color:var(--suite-muted);padding:12px;background:var(--suite-panel-soft);border-radius:12px}.mobile-sign-toolbar,.mobile-redact-toolbar,.mobile-primary-bar{display:none}
.redact-toolbar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.redaction-mark{position:absolute;pointer-events:auto;touch-action:none;border:2px solid #df3b3b;background:rgba(255,213,65,.35);cursor:move;min-width:12px;min-height:12px}.redaction-mark.selected{box-shadow:0 0 0 2px rgba(255,255,255,.9),0 0 0 4px #df3b3b}.redaction-mark.locked{cursor:default;border-style:dashed}.redaction-mark.full-page{inset:0!important;width:100%!important;height:100%!important}.redaction-mark .resize-handle{display:none}.redaction-mark.selected:not(.locked) .resize-handle{display:block}.check-row,.permission-grid,.pattern-list{display:grid;gap:8px}.check-row{grid-template-columns:1fr 1fr}.check-row label,.permission-grid label,.pattern-list label,.sanitize-options label{min-height:44px;display:flex;align-items:center;gap:9px;color:var(--suite-text);font-size:.84rem}.match-summary,.redact-counts,.sanitize-report{padding:10px 12px;background:var(--suite-panel-soft);border:1px solid var(--suite-border);border-radius:10px;color:var(--suite-muted);font-size:.82rem;margin:10px 0}.find-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.find-nav span{min-width:70px;text-align:center}.tool-block details{margin-top:10px}.tool-block summary{cursor:pointer;font-weight:800;color:var(--suite-muted);padding:10px 0}
.security-shell{max-width:1380px;padding-top:30px;padding-bottom:50px}.security-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.security-heading>p{max-width:600px;color:var(--suite-muted);margin:0;text-align:right}.security-steps{display:flex;gap:0;margin-bottom:14px;overflow:auto;border:1px solid var(--suite-border);border-radius:14px;background:var(--suite-panel)}.security-steps span{min-height:46px;padding:0 18px;display:flex;align-items:center;color:var(--suite-muted);font-size:.78rem;white-space:nowrap;border-right:1px solid var(--suite-border)}.security-steps span.active{color:var(--suite-accent);font-weight:900}.security-tabs{display:flex;gap:6px;overflow:auto;padding:5px;background:var(--suite-panel);border:1px solid var(--suite-border);border-radius:14px;margin-bottom:16px}.security-tabs button{border:0;background:transparent;color:var(--suite-muted);padding:0 18px;border-radius:10px;font:inherit;font-weight:800;white-space:nowrap}.security-tabs button.active{background:linear-gradient(120deg,color-mix(in srgb,#40d8ef 18%,var(--suite-panel)),color-mix(in srgb,#6868f8 16%,var(--suite-panel)));color:var(--suite-text);box-shadow:0 2px 8px rgba(0,0,0,.08)}.security-grid{display:grid;grid-template-columns:230px minmax(0,1fr) 230px;gap:16px;align-items:start}.security-file-card,.security-config-card,.security-help-card{background:var(--suite-panel);border:1px solid var(--suite-border);border-radius:var(--suite-radius);box-shadow:var(--suite-shadow)}.security-file-card,.security-help-card{padding:16px}.security-config-card{min-height:520px;padding:22px}.security-file-empty{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--suite-panel-soft);border-radius:14px;color:var(--suite-muted);margin-bottom:12px}.security-file-empty span{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--suite-panel);font-weight:900;color:var(--suite-accent)}.security-file-info{display:grid;gap:7px;padding:14px;background:var(--suite-panel-soft);border-radius:14px;margin-bottom:12px;word-break:break-word}.security-file-info button{min-height:42px;border:1px solid var(--suite-border);background:var(--suite-panel);color:var(--suite-text);border-radius:10px;font:inherit;font-weight:700}.privacy-note,.runtime-state{display:grid;gap:4px;margin-top:14px;padding:12px;border-radius:12px;background:var(--suite-panel-soft);font-size:.76rem;color:var(--suite-muted)}.privacy-note strong,.runtime-state b{color:var(--suite-text)}.runtime-state.ready{border:1px solid #62b78a}.runtime-state.blocked{border:1px solid #e3a643}.security-pane h2{margin:0 0 4px;font-size:1.45rem}.security-pane>p{margin:0 0 18px;color:var(--suite-muted)}.password-guidance{font-size:.8rem;color:var(--suite-muted);padding:10px 12px;background:var(--suite-panel-soft);border-radius:10px}.security-action-row{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--suite-border);padding-top:18px;margin-top:22px;position:sticky;bottom:0;background:var(--suite-panel)}.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0}.password-helper{border:1px solid var(--suite-border);border-radius:12px;padding:0 12px;margin-top:12px}.password-helper summary{min-height:48px;display:flex;align-items:center;cursor:pointer;font-weight:800}.password-helper small{display:block;color:var(--suite-muted);line-height:1.45;margin:10px 0 14px}.sanitize-options{display:grid;grid-template-columns:1fr 1fr;gap:5px 14px;margin-top:10px}.batch-list{display:grid;gap:8px;margin-top:12px}.batch-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px;border:1px solid var(--suite-border);border-radius:10px}.batch-item small{color:var(--suite-muted)}.batch-status.pass{color:#24945a}.batch-status.fail{color:var(--suite-danger)}.security-help-card strong{display:block;margin-bottom:8px}.security-help-card ul{padding-left:18px;margin:0;display:grid;gap:9px;color:var(--suite-muted);font-size:.8rem;line-height:1.45}.security-progress,.security-result,.security-error{margin-top:16px;padding:14px;border-radius:14px;border:1px solid var(--suite-border);background:var(--suite-panel-soft)}.security-progress{display:grid;gap:10px}.progress-stage{font-weight:800}.progress-line{height:6px;border-radius:99px;background:var(--suite-border);overflow:hidden}.progress-line span{display:block;width:42%;height:100%;background:linear-gradient(90deg,#3fd5e7,#6c6cf5);animation:progress-sweep 1.15s ease-in-out infinite}.security-result{display:grid;gap:8px;border-color:#70bf92}.result-badge{font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;color:#208252;font-weight:900}.security-result p{margin:0;color:var(--suite-muted)}.security-error{border-color:#d98c8c;color:#a82f2f}.suite-modal{position:fixed;inset:0;z-index:200;background:rgba(5,14,23,.62);display:grid;place-items:center;padding:20px;backdrop-filter:blur(6px)}.suite-modal-card{width:min(520px,100%);max-height:min(680px,calc(100vh - 40px));overflow:auto;background:var(--suite-panel);border:1px solid var(--suite-border);border-radius:22px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.28);position:relative}.suite-modal-card h2{margin:0 40px 8px 0}.suite-modal-card p{color:var(--suite-muted)}.modal-close{position:absolute;top:14px;right:14px;width:46px;height:46px;border:1px solid var(--suite-border);border-radius:13px;background:var(--suite-panel-soft);color:var(--suite-text);font-size:1.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.redaction-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.redaction-summary div{padding:12px;border-radius:12px;background:var(--suite-panel-soft);color:var(--suite-muted)}.redaction-summary strong{display:block;color:var(--suite-text);font-size:1.2rem}
@keyframes progress-sweep{0%{transform:translateX(-120%)}50%{transform:translateX(110%)}100%{transform:translateX(240%)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media (max-width:1100px){.pdf-suite-stage{grid-template-columns:120px minmax(0,1fr) 280px}.thumb-item{width:92px;min-height:118px}.suite-tool-text{display:none}.security-grid{grid-template-columns:210px minmax(0,1fr)}.security-help-card{display:none}}
@media (max-width:820px){:root{--suite-header:72px;--suite-topbar:70px;--suite-mobile-primary:76px}.pdf-local-pill{display:none}.pdf-suite-topbar{grid-template-columns:minmax(0,1fr) auto;height:var(--suite-topbar);padding:8px 10px}.pdf-suite-title small{display:none}.pdf-suite-title h1{font-size:1rem}.suite-title-icon{width:38px;height:38px}.viewer-toolbar{grid-column:1/-1;position:absolute;left:10px;right:10px;top:70px;justify-content:center;z-index:5;box-shadow:0 8px 20px rgba(0,0,0,.08)}.top-primary{display:none}.pdf-suite-stage{height:calc(100dvh - var(--suite-header) - var(--suite-topbar) - var(--suite-mobile-primary));min-height:420px;display:block;position:relative;margin-top:58px}.pdf-pages-panel,.pdf-tools-panel{display:none}.pdf-canvas-region{position:absolute;inset:0}.page-centering-layer{padding:20px 14px 90px;align-items:flex-start}.suite-inline-status{bottom:82px}.mobile-sign-toolbar,.mobile-redact-toolbar{position:fixed;left:0;right:0;bottom:calc(70px + env(safe-area-inset-bottom));z-index:85;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;background:var(--suite-panel);border-top:1px solid var(--suite-border);padding:6px 8px}.mobile-sign-toolbar button,.mobile-redact-toolbar button{border:0;background:transparent;color:var(--suite-text);border-radius:10px;font:inherit;font-size:.72rem;font-weight:800}.mobile-sign-toolbar button:active,.mobile-redact-toolbar button:active{background:var(--suite-panel-soft)}.mobile-primary-bar{position:fixed;left:0;right:0;bottom:0;z-index:86;display:block;background:var(--suite-panel);padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--suite-border)}.mobile-primary-bar .suite-primary{width:100%;min-height:54px}.sign-tools-panel.mobile-open,.redact-tools-panel.mobile-open{display:block;position:fixed;left:8px;right:8px;bottom:calc(142px + env(safe-area-inset-bottom));z-index:100;max-height:min(62vh,560px);border:1px solid var(--suite-border);border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.28)}.sign-tools-panel.mobile-open .panel-scroll,.redact-tools-panel.mobile-open .panel-scroll{max-height:min(62vh,560px);padding-bottom:20px}.security-shell{padding:18px 12px 100px}.security-heading{align-items:flex-start;flex-direction:column}.security-heading>p{text-align:left}.security-steps{display:none}.security-tabs{position:sticky;top:72px;z-index:40;margin-left:-2px;margin-right:-2px}.security-grid{display:block}.security-file-card{margin-bottom:12px}.security-help-card{display:none}.security-config-card{padding:16px;min-height:0}.security-action-row{bottom:calc(env(safe-area-inset-bottom));padding-bottom:8px}.permission-grid,.sanitize-options{grid-template-columns:1fr}.modal-actions.stacked-mobile{display:grid}.redaction-summary{grid-template-columns:1fr 1fr}}
@media (max-width:430px){.pdf-suite-head-actions{gap:6px}.pdf-suite-icon-btn,.theme-toggle{width:46px!important;height:46px!important}.viewer-toolbar{gap:3px;padding:3px}.suite-tool-btn{padding:0 8px;min-width:44px;min-height:44px}.zoom-readout{min-width:44px}.page-readout{min-width:50px}.security-tabs button{padding:0 14px}.suite-modal{padding:10px}.suite-modal-card{padding:18px;border-radius:18px}.redaction-summary{grid-template-columns:1fr}.modal-actions{display:grid}.suite-primary,.suite-secondary{width:100%}.security-action-row{display:grid;grid-template-columns:1fr}.security-action-row .suite-primary,.security-action-row .suite-secondary{width:100%}.element-grid{grid-template-columns:repeat(3,1fr)}}
.redaction-layer{pointer-events:auto;touch-action:none}.search-match{position:absolute;border:2px solid #ef8a23;background:rgba(255,207,77,.24);pointer-events:none}.search-match.current{border-color:#ff3b30;background:rgba(255,72,62,.18);box-shadow:0 0 0 2px rgba(255,255,255,.8)}.suite-inline-status.error{color:#a72b2b;border:1px solid #dc9b9b}

/* v2 signing interaction reliability */
.signature-style-list{grid-template-columns:1fr;gap:8px}
.signature-style{min-width:0;min-height:76px;display:grid;align-content:center;gap:2px;padding:7px 10px;cursor:grab;overflow:hidden}
.signature-style:active{cursor:grabbing}
.signature-style-sample{display:block;max-width:100%;font-size:1.45rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--suite-text)}
.signature-style small{font:700 .68rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--suite-muted);letter-spacing:.02em}
.drag-helper{display:block;margin:9px 2px 4px;color:var(--suite-muted);font-size:.72rem;line-height:1.4}
.element-btn[draggable="true"]{cursor:grab}.element-btn[draggable="true"]:active{cursor:grabbing}
.pdf-page-shell.sign-drop-available::after,.pdf-page-shell.sign-drop-target::after{content:"Drop here to place";position:absolute;inset:10px;z-index:70;display:grid;place-items:center;border:2px dashed #17a7c3;border-radius:12px;background:rgba(76,214,235,.08);color:#08768c;font:800 .9rem system-ui,-apple-system,"Segoe UI",sans-serif;pointer-events:none}
.pdf-page-shell.sign-drop-target::after{border-color:#536cff;background:rgba(83,108,255,.14);color:#3149d9}
.field-overlay{z-index:30}
.field-overlay:focus-visible{outline:3px solid rgba(38,120,255,.35);outline-offset:3px}
.redaction-result{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid #70bf92;border-radius:12px;background:color-mix(in srgb,#70bf92 10%,var(--suite-panel));color:var(--suite-text)}
.redaction-result p{margin:0;color:var(--suite-muted);font-size:.78rem;line-height:1.4}
@media (max-width:820px){.signature-style-list{grid-template-columns:1fr 1fr}.signature-style{min-height:70px}.signature-style-sample{font-size:1.28rem}.drag-helper{display:none}}
@media (max-width:360px){.signature-style-list{grid-template-columns:1fr}.signature-style{min-height:64px}}


/* v3 RC polish: security workflow clarity + compact redaction confirmation */
.security-steps{overflow:hidden}
.security-steps span{position:relative;flex:1 1 0;justify-content:center;text-align:center;padding:0 12px;min-width:150px;transition:background .15s ease,color .15s ease}
.security-steps span:last-child{border-right:0}
.security-steps span.active{background:color-mix(in srgb,var(--suite-accent) 10%,var(--suite-panel));color:var(--suite-accent)}
.security-steps span.done{color:var(--suite-text);font-weight:750;background:color-mix(in srgb,#36b987 7%,var(--suite-panel))}
.security-steps span.done::before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;margin-right:7px;border-radius:50%;background:#2aa872;color:white;font-size:.68rem;font-weight:900}
.security-pane .suite-field,.security-pane .password-guidance,.security-pane .password-helper,.security-pane .permission-grid,.security-pane .field-help,.security-pane .sanitize-report,.security-pane .sanitize-options,.security-pane .batch-list{max-width:720px}
.suite-field select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,var(--suite-muted) 50%),linear-gradient(135deg,var(--suite-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 20px,calc(100% - 12px) 20px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.permission-grid{display:grid;gap:10px}.permission-grid label,.sanitize-options label,.check-row label,.pattern-list label{min-height:44px;display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--suite-border);border-radius:10px;background:var(--suite-panel-soft)}
.permission-grid input,.sanitize-options input,.check-row input,.pattern-list input{width:18px;height:18px;accent-color:#4f6df4}
.security-action-row{padding-bottom:2px;z-index:4}
.redaction-confirm-card{width:min(470px,100%);padding:22px}.redaction-confirm-card>p{margin:4px 42px 16px 0;line-height:1.55}.redaction-confirm-card .redaction-summary{gap:10px}.redaction-confirm-card .redaction-summary div{min-height:70px;display:flex;flex-direction:column;justify-content:center;padding:12px 14px;border:1px solid var(--suite-border);background:var(--suite-panel-soft)}.redaction-confirm-card .redaction-summary strong{font-size:1.35rem;line-height:1.05;margin-bottom:5px}.redaction-confirm-card .modal-actions{padding-top:4px}.redaction-confirm-card .modal-actions .suite-secondary{min-width:150px}.redaction-confirm-card .modal-actions .suite-primary{min-width:190px}
@media (max-width:820px){.security-steps{display:none}.security-pane .suite-field,.security-pane .password-guidance,.security-pane .password-helper,.security-pane .permission-grid,.security-pane .field-help,.security-pane .sanitize-report,.security-pane .sanitize-options,.security-pane .batch-list{max-width:none}}
@media (max-width:430px){.redaction-confirm-card{padding:18px}.redaction-confirm-card>p{margin-right:38px}.redaction-confirm-card .modal-actions .suite-secondary,.redaction-confirm-card .modal-actions .suite-primary{min-width:0}}

/* v4: polished PDF suite controls, cohesive signature chooser, consumer-facing security UI */
.signature-live-preview{
  min-height:92px;margin:10px 0 12px;padding:10px 14px;border:1px solid var(--suite-border);
  border-radius:14px;background:linear-gradient(145deg,var(--suite-panel),var(--suite-panel-soft));
  display:grid;grid-template-rows:auto 1fr;gap:4px;overflow:hidden;
}
.signature-live-preview small{font:800 .66rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--suite-muted);letter-spacing:.08em;text-transform:uppercase}
.signature-live-preview span{display:flex;align-items:center;justify-content:center;min-width:0;min-height:56px;font-size:2.15rem;line-height:1;color:var(--suite-text);white-space:nowrap;transform-origin:center}
.signature-style-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.signature-style{min-height:70px;padding:8px 10px;text-align:center;cursor:pointer;position:relative;transition:border-color .14s ease,background .14s ease,transform .12s ease,box-shadow .14s ease}
.signature-style:hover{border-color:var(--suite-border-strong);background:var(--suite-panel-soft)}
.signature-style:active{transform:scale(.985)}
.signature-style.active{border:2px solid #4f6df4;background:color-mix(in srgb,#5574ff 8%,var(--suite-panel));box-shadow:0 0 0 3px color-mix(in srgb,#5574ff 12%,transparent)}
.signature-style-sample{display:block;width:100%;font-size:1.42rem;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:clip;transform-origin:center;color:var(--suite-text)}
.signature-style small{display:block;margin-top:3px;text-align:center}
.drag-helper{padding:8px 10px;margin-top:10px;border-radius:10px;background:var(--suite-panel-soft)}

/* More deliberate side-panel grouping without changing workspace structure. */
.sign-tools-panel .panel-scroll,.redact-tools-panel .panel-scroll{padding:16px 14px 120px}
.sign-tools-panel .tool-block,.redact-tools-panel .tool-block{border:1px solid var(--suite-border);border-radius:14px;padding:14px;margin:0 0 12px;background:var(--suite-panel)}
.sign-tools-panel .tool-block:last-of-type,.redact-tools-panel .tool-block:last-of-type{margin-bottom:0}
.redact-toolbar-grid{padding:6px;margin-bottom:12px;border:1px solid var(--suite-border);border-radius:14px;background:var(--suite-panel-soft)}
.redact-toolbar-grid button{background:transparent;border-color:transparent}
.redact-toolbar-grid button.active{background:var(--suite-panel);border-color:var(--suite-border-strong);box-shadow:0 2px 8px rgba(0,0,0,.06)}

/* Security Center: keep the workflow simple and reduce technical-dashboard weight. */
.security-shell{max-width:1480px}
.security-grid{grid-template-columns:240px minmax(0,760px) 250px;justify-content:center;gap:18px}
.security-file-card,.security-config-card,.security-help-card{box-shadow:0 14px 34px rgba(15,43,66,.09)}
.runtime-state{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px}
.runtime-state b{font-size:.76rem}.runtime-state span{font-size:.76rem;text-align:right}
.security-help-card{align-self:start}.security-help-card strong{font-size:.9rem}.security-help-card ul{gap:10px}
.security-pane>p{max-width:680px;line-height:1.5}
.security-config-card{padding:24px 26px}
.security-result .suite-primary{justify-self:start}

/* Softer inline notice for normal guidance; errors still remain distinct. */
.suite-inline-status:not(.error){border:1px solid color-mix(in srgb,var(--suite-border) 80%,transparent);box-shadow:0 8px 22px rgba(15,43,66,.08)}

@media (max-width:1180px){
  .security-grid{grid-template-columns:220px minmax(0,1fr)}
  .security-help-card{display:none}
}
@media (max-width:820px){
  .signature-live-preview{min-height:82px}.signature-live-preview span{font-size:1.9rem;min-height:48px}
  .signature-style-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .signature-style{min-height:68px}.signature-style-sample{font-size:1.28rem}
  .sign-tools-panel.mobile-open .tool-block,.redact-tools-panel.mobile-open .tool-block{background:var(--suite-panel)}
  .security-config-card{padding:18px}
}
@media (max-width:360px){
  .signature-style-list{grid-template-columns:1fr 1fr}
  .signature-style{min-height:64px;padding:7px}.signature-style-sample{font-size:1.16rem}
}

/* v101 security result/file-card alignment */
#security-file-picker{width:100%;display:flex}
.security-result .suite-primary{justify-self:end;min-width:170px}
.security-result .suite-primary.hidden{display:none}
@media (max-width:820px){.security-result .suite-primary{width:100%;justify-self:stretch}}

/* =====================================================================
   v6 — responsive workspace compaction
   Goal: preserve editing canvas area on phones/tablets without changing
   PDF processing behavior. Mobile becomes a compact viewer + contextual
   bottom sheet instead of displaying desktop-sized side panels.
===================================================================== */
.mobile-panel-close{display:none}
.mobile-sign-toolbar button span,.mobile-redact-toolbar button span{display:block;line-height:1}
.mobile-sign-toolbar button small,.mobile-redact-toolbar button small{display:block;font:800 .68rem/1.05 system-ui,-apple-system,"Segoe UI",sans-serif;color:inherit}

/* Prevent landing-page typography from making suite dialogs/actions oversized. */
.pdf-suite-page .suite-modal-card h2{font-size:1.45rem;line-height:1.15}
.pdf-suite-page .suite-modal-card p{font-size:.92rem;line-height:1.55;margin:8px 0 0}
.pdf-suite-page .security-heading h1,.pdf-suite-page .pdf-suite-title h1{overflow-wrap:normal}

/* Tablets in portrait and every phone use the compact workspace. */
@media (max-width:960px){
  :root{
    --suite-header:60px;
    --suite-topbar:52px;
    --suite-mobile-primary:60px;
    --suite-mobile-tools:50px;
  }

  .pdf-suite-page .site-header .container{width:calc(100% - 24px)}
  .pdf-suite-page .nav-inner{min-height:60px;gap:10px}
  .pdf-suite-page .brand{gap:7px}
  .pdf-suite-page .brand-mark{width:26px;height:26px}
  .pdf-suite-page .brand-name{font-size:17px}
  .pdf-suite-head-actions{gap:6px}
  .pdf-local-pill{display:none}
  .pdf-suite-icon-btn,.pdf-suite-page .theme-toggle{width:42px!important;height:42px!important;min-width:42px;min-height:42px;border-radius:12px}

  .pdf-suite-topbar{
    height:var(--suite-topbar);
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    padding:5px 10px;
    top:var(--suite-header);
  }
  .pdf-suite-title{gap:8px}
  .pdf-suite-title small{display:none}
  .pdf-suite-title h1{font-size:.96rem;line-height:1.05;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .suite-title-icon{width:32px;height:32px;border-radius:10px;font-size:.95rem}
  .top-primary{display:none}

  .viewer-toolbar{
    grid-column:1/-1;
    position:absolute;
    left:8px;
    right:8px;
    top:51px;
    min-height:44px;
    justify-content:center;
    gap:2px;
    padding:2px 4px;
    border-radius:12px;
    box-shadow:0 7px 18px rgba(15,43,66,.10);
    z-index:5;
  }
  .suite-tool-btn{min-width:42px;min-height:42px;padding:0 7px;border-radius:9px;font-size:.95rem}
  .suite-tool-text{display:none}
  .page-readout,.zoom-readout{min-width:44px;font-size:.77rem}
  .toolbar-divider{height:22px}

  .pdf-suite-stage{
    height:calc(100dvh - var(--suite-header) - var(--suite-topbar) - var(--suite-mobile-primary) - var(--suite-mobile-tools) - 46px);
    min-height:0;
    display:block;
    position:relative;
    margin-top:46px;
    overflow:hidden;
  }
  .pdf-pages-panel,.pdf-tools-panel{display:none}
  .pdf-canvas-region{position:absolute;inset:0}
  .pdf-viewport{overscroll-behavior:contain;scrollbar-gutter:stable both-edges}
  .page-centering-layer{padding:12px 10px 58px;align-items:flex-start}
  .pdf-empty-state{padding:18px 20px;gap:8px}
  .empty-icon{width:54px;height:54px;border-radius:15px;font-size:.86rem}
  .pdf-empty-state h2{font-size:1.08rem;margin:2px 0 0}
  .pdf-empty-state p{font-size:.82rem;line-height:1.4}
  .pdf-empty-state small{font-size:.7rem;line-height:1.35}
  .pdf-empty-state .suite-primary{width:auto;min-width:146px;min-height:46px;padding:0 18px;font-size:.84rem}
  .suite-inline-status{bottom:58px;max-width:calc(100% - 26px);min-height:28px;padding:5px 10px;font-size:.7rem;white-space:normal;text-align:center}

  .mobile-sign-toolbar,.mobile-redact-toolbar{
    position:fixed;
    left:0;right:0;
    bottom:calc(var(--suite-mobile-primary) + env(safe-area-inset-bottom));
    z-index:85;
    height:var(--suite-mobile-tools);
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:2px;
    background:var(--suite-panel);
    border-top:1px solid var(--suite-border);
    padding:3px 5px;
  }
  .mobile-sign-toolbar button,.mobile-redact-toolbar button{
    min-width:0;
    min-height:44px;
    padding:3px 2px;
    border:0;
    background:transparent;
    color:var(--suite-text);
    border-radius:9px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:2px;
    font:inherit;
  }
  .mobile-sign-toolbar button span,.mobile-redact-toolbar button span{font-size:.82rem;font-weight:850}
  .mobile-sign-toolbar button small,.mobile-redact-toolbar button small{font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .mobile-sign-toolbar button:active,.mobile-redact-toolbar button:active{background:var(--suite-panel-soft);transform:scale(.98)}
  .mobile-sign-toolbar button:focus-visible,.mobile-redact-toolbar button:focus-visible{outline:2px solid color-mix(in srgb,var(--suite-accent) 50%,transparent);outline-offset:-2px}

  .mobile-primary-bar{
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:86;
    min-height:var(--suite-mobile-primary);
    display:flex;
    align-items:flex-start;
    background:var(--suite-panel);
    padding:6px 10px calc(6px + env(safe-area-inset-bottom));
    border-top:1px solid var(--suite-border);
  }
  .mobile-primary-bar .suite-primary{width:100%;min-height:46px;height:46px;border-radius:12px;padding:0 18px;font-size:.86rem}

  /* Contextual bottom sheet: enough controls, but the PDF always remains visible. */
  .sign-tools-panel.mobile-open,.redact-tools-panel.mobile-open{
    display:block;
    position:fixed;
    left:6px;right:6px;
    bottom:calc(var(--suite-mobile-primary) + var(--suite-mobile-tools) + 6px + env(safe-area-inset-bottom));
    z-index:100;
    max-height:min(44dvh,360px);
    border:1px solid var(--suite-border);
    border-radius:16px;
    background:var(--suite-panel);
    box-shadow:0 18px 48px rgba(0,0,0,.26);
    overflow:hidden;
  }
  .mobile-panel-close{
    display:grid;
    place-items:center;
    position:absolute;
    top:6px;right:7px;
    z-index:4;
    width:38px;height:38px;
    border:1px solid var(--suite-border);
    border-radius:11px;
    background:var(--suite-panel-soft);
    color:var(--suite-text);
    font:700 1.2rem/1 system-ui,-apple-system,"Segoe UI",sans-serif;
  }
  .sign-tools-panel.mobile-open .panel-scroll,.redact-tools-panel.mobile-open .panel-scroll{
    height:auto;
    max-height:min(44dvh,360px);
    padding:10px 10px 12px;
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }
  .sign-tools-panel .tool-block,.redact-tools-panel .tool-block{padding:10px;border-radius:12px;margin:0 0 8px}
  .panel-label{font-size:.63rem;margin:0 40px 7px 2px}
  .helper-copy,.suite-disclosure,.drag-helper{font-size:.69rem;line-height:1.38;padding:8px}
  .suite-field{gap:4px;margin:7px 0}
  .suite-field>span{font-size:.72rem}
  .suite-field input,.suite-field select,.password-field>div{min-height:44px;border-radius:10px;font-size:.82rem}
  .suite-secondary,.suite-primary{min-height:46px;border-radius:12px;padding:0 18px;font-size:.82rem}
  .mini-actions{gap:5px;margin-top:7px}
  .mini-actions button,.find-nav button{min-height:42px;padding:0 9px;font-size:.72rem}

  /* Sign drawer: show only the requested compact group. */
  .sign-tools-panel.mobile-open[data-mobile-view="signature"] #sign-element-picker,
  .sign-tools-panel.mobile-open[data-mobile-view="signature"] #field-properties,
  .sign-tools-panel.mobile-open[data-mobile-view="signature"] #sign-page-tools,
  .sign-tools-panel.mobile-open[data-mobile-view="signature"] .suite-disclosure{display:none}
  .sign-tools-panel.mobile-open[data-mobile-view="more"] #signature-maker{display:none}
  .sign-tools-panel.mobile-open[data-mobile-view="more"] #sign-element-picker,
  .sign-tools-panel.mobile-open[data-mobile-view="more"] #field-properties,
  .sign-tools-panel.mobile-open[data-mobile-view="more"] #sign-page-tools{display:block}
  .sign-tools-panel.mobile-open[data-mobile-view="more"] .suite-disclosure{display:block;margin:7px 0 0}

  .segmented{margin-bottom:7px;padding:3px;border-radius:10px}
  .segmented button{min-height:38px;font-size:.76rem;border-radius:8px}
  .signature-live-preview{min-height:62px;margin:6px 0 7px;padding:7px 10px;border-radius:11px}
  .signature-live-preview small{font-size:.58rem}
  .signature-live-preview span{min-height:35px;font-size:1.35rem}
  .signature-style-list{
    display:flex!important;
    gap:6px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x proximity;
    padding:1px 1px 5px;
    scrollbar-width:none;
  }
  .signature-style-list::-webkit-scrollbar{display:none}
  .signature-style{flex:0 0 108px;min-height:54px!important;height:54px;padding:5px 7px!important;border-radius:10px;scroll-snap-align:start}
  .signature-style-sample{font-size:1rem!important;line-height:1.02}
  .signature-style small{font-size:.58rem!important;margin-top:1px}
  .signature-color-row{gap:7px;margin:7px 0}
  .ink{width:28px;height:28px}
  .sign-pane canvas{max-height:120px}
  .signature-upload{min-height:50px;font-size:.76rem}
  .signature-upload-preview img{max-height:70px}
  .element-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .element-btn{min-width:0;min-height:44px;padding:4px 3px;font-size:.65rem;border-radius:9px;gap:2px}
  .element-btn span{font-size:.82rem}
  .numeric-grid{gap:5px}

  /* Redaction drawer: mobile toolbar is primary navigation; side navigation becomes compact chips. */
  .redact-tools-panel.mobile-open .redact-toolbar-grid{
    display:flex;
    gap:5px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:3px 44px 5px 3px;
    margin-bottom:7px;
    border-radius:10px;
    scrollbar-width:none;
  }
  .redact-tools-panel.mobile-open .redact-toolbar-grid::-webkit-scrollbar{display:none}
  .redact-tools-panel.mobile-open .redact-toolbar-grid button{
    flex:0 0 auto;
    min-width:auto;
    min-height:38px;
    padding:0 10px;
    border-radius:8px;
    font-size:.68rem;
    white-space:nowrap;
  }
  .check-row{grid-template-columns:1fr 1fr;gap:5px}
  .check-row label,.permission-grid label,.pattern-list label,.sanitize-options label{min-height:40px;padding:6px 8px;font-size:.73rem}
  .match-summary,.redact-counts,.sanitize-report{padding:7px 9px;margin:7px 0;font-size:.7rem}
  .find-nav{gap:5px}
  .find-nav span{min-width:54px;font-size:.72rem}
  .tool-block details{margin-top:6px}
  .tool-block summary{padding:7px 0;font-size:.76rem}
  .redaction-result{padding:9px;gap:6px;margin-top:7px}
  .redaction-result p{font-size:.69rem}
  #redaction-download{min-height:44px;font-size:.76rem}

  /* Security Center: compact heading + genuinely scrollable, non-overlapping mode strip. */
  .security-shell{padding:12px 10px 34px;max-width:none}
  .security-heading{display:grid;gap:6px;margin-bottom:10px}
  .security-heading .pdf-suite-title{min-width:0}
  .security-heading>p{max-width:none;margin:0;text-align:left;font-size:.78rem;line-height:1.38;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .security-steps{display:none}
  .security-tabs{
    position:sticky;
    top:var(--suite-header);
    z-index:40;
    display:flex;
    flex-wrap:nowrap;
    gap:3px;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding:4px;
    margin:0 0 10px;
    border-radius:12px;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
  }
  .security-tabs::-webkit-scrollbar{display:none}
  .security-tabs button{
    flex:0 0 auto;
    width:auto!important;
    min-width:auto;
    min-height:42px;
    padding:0 12px!important;
    border-radius:9px;
    font-size:.76rem;
    line-height:1;
    white-space:nowrap;
    scroll-snap-align:center;
  }
  .security-grid{display:block}
  .security-file-card,.security-config-card{border-radius:14px;box-shadow:0 10px 26px rgba(15,43,66,.08)}
  .security-file-card{padding:11px;margin-bottom:9px}
  .security-file-empty{min-height:90px;margin-bottom:8px;border-radius:11px;font-size:.8rem}
  .security-file-empty span{width:40px;height:40px;border-radius:10px;font-size:.8rem}
  .security-file-empty p{margin:6px 0 0}
  #security-file-picker{min-height:46px;font-size:.82rem}
  .security-file-info{padding:10px;margin-bottom:8px;border-radius:10px;font-size:.78rem}
  .security-file-info button{min-height:40px;font-size:.74rem}
  .privacy-note,.runtime-state{margin-top:8px;padding:8px 9px;border-radius:10px;font-size:.68rem;line-height:1.35}
  .runtime-state{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .runtime-state b,.runtime-state span{font-size:.68rem}
  .security-help-card{display:none}
  .security-config-card{padding:13px;min-height:0}
  .security-pane h2{font-size:1.15rem;line-height:1.15;margin-bottom:3px}
  .security-pane>p{font-size:.79rem;line-height:1.4;margin-bottom:12px}
  .password-guidance{padding:8px 9px;font-size:.7rem}
  .password-field>div button{min-width:50px;font-size:.72rem}
  .permission-grid,.sanitize-options{grid-template-columns:1fr;gap:5px;margin:9px 0}
  .password-helper{padding:0 9px;margin-top:8px}
  .password-helper summary{min-height:44px;font-size:.78rem}
  .password-helper small{font-size:.68rem;margin:7px 0 10px}
  .field-help{font-size:.69rem;line-height:1.4}
  .security-action-row{
    position:sticky;
    bottom:0;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:7px;
    margin-top:14px;
    padding:10px 0 2px;
    background:var(--suite-panel);
  }
  .security-action-row .suite-secondary{width:auto!important;min-width:86px}
  .security-action-row .suite-primary{width:100%!important}
  .security-progress,.security-result,.security-error{margin-top:10px;padding:10px;border-radius:11px;font-size:.75rem}
  .security-result .suite-primary{width:auto!important;min-width:138px;justify-self:end;min-height:44px}

  /* Compact modal/download UX. */
  .suite-modal{padding:10px;align-items:end}
  .suite-modal-card{
    width:min(430px,100%);
    max-height:min(78dvh,560px);
    padding:16px;
    border-radius:17px;
  }
  .pdf-suite-page .suite-modal-card h2{font-size:1.26rem;line-height:1.15;margin:0 42px 5px 0}
  .pdf-suite-page .suite-modal-card p{font-size:.8rem;line-height:1.45;margin:5px 0 0}
  .modal-close{top:9px;right:9px;width:40px;height:40px;border-radius:11px;font-size:1.2rem}
  .modal-actions,.modal-actions.stacked-mobile{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px}
  .modal-actions .suite-primary,.modal-actions .suite-secondary{width:100%;min-width:0!important;min-height:46px;padding:0 10px;font-size:.77rem}
  .redaction-confirm-card{padding:16px;width:min(430px,100%)}
  .redaction-confirm-card>p{margin:4px 36px 10px 0}
  .redaction-confirm-card .redaction-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .redaction-confirm-card .redaction-summary div{min-height:54px;padding:8px 10px;font-size:.7rem}
  .redaction-confirm-card .redaction-summary strong{font-size:1.05rem;margin-bottom:2px}
}

@media (max-width:430px){
  .pdf-suite-page .site-header .container{width:calc(100% - 18px)}
  .pdf-suite-head-actions{gap:4px}
  .pdf-suite-icon-btn,.pdf-suite-page .theme-toggle{width:40px!important;height:40px!important;min-width:40px;min-height:40px}
  .pdf-suite-topbar{padding-left:8px;padding-right:8px}
  .viewer-toolbar{left:6px;right:6px}
  .suite-tool-btn{min-width:40px;min-height:40px;padding:0 5px}
  .page-readout{min-width:42px}.zoom-readout{min-width:40px}
  .mobile-sign-toolbar button small,.mobile-redact-toolbar button small{font-size:.59rem}
  .mobile-sign-toolbar button span,.mobile-redact-toolbar button span{font-size:.78rem}
  .sign-tools-panel.mobile-open,.redact-tools-panel.mobile-open{left:4px;right:4px;max-height:min(42dvh,330px)}
  .sign-tools-panel.mobile-open .panel-scroll,.redact-tools-panel.mobile-open .panel-scroll{max-height:min(42dvh,330px);padding:9px 8px 10px}
  .signature-style{flex-basis:100px}
  .security-shell{padding-left:8px;padding-right:8px}
  .security-tabs button{padding:0 10px!important;font-size:.72rem}
  .security-config-card{padding:11px}
  .suite-modal-card{padding:14px}
}

@media (max-width:340px){
  .pdf-suite-title h1{font-size:.9rem}
  .suite-title-icon{width:30px;height:30px}
  .page-readout,.zoom-readout{font-size:.7rem;min-width:37px}
  .suite-tool-btn{min-width:38px;min-height:40px}
  .toolbar-divider{display:none}
  .mobile-sign-toolbar button small,.mobile-redact-toolbar button small{font-size:.56rem}
  .element-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .numeric-grid,.check-row{grid-template-columns:1fr}
  .security-tabs button{padding:0 9px!important;font-size:.69rem}
  .security-action-row{grid-template-columns:1fr}
  .security-action-row .suite-secondary{width:100%!important}
  .modal-actions,.modal-actions.stacked-mobile{grid-template-columns:1fr}
  .redaction-confirm-card .redaction-summary{grid-template-columns:1fr 1fr}
}

/* Short landscape phones: protect viewer height even more aggressively. */
@media (max-width:960px) and (max-height:600px){
  :root{--suite-header:52px;--suite-topbar:48px;--suite-mobile-primary:54px;--suite-mobile-tools:46px}
  .pdf-suite-page .nav-inner{min-height:52px}
  .pdf-suite-page .brand-mark{width:23px;height:23px}.pdf-suite-page .brand-name{font-size:15px}
  .pdf-suite-icon-btn,.pdf-suite-page .theme-toggle{width:38px!important;height:38px!important;min-width:38px;min-height:38px}
  .pdf-suite-topbar{height:48px;top:52px}
  .viewer-toolbar{top:47px;min-height:42px}
  .pdf-suite-stage{height:calc(100dvh - 52px - 48px - 54px - 46px - 44px);margin-top:44px}
  .mobile-sign-toolbar,.mobile-redact-toolbar{height:46px;bottom:calc(54px + env(safe-area-inset-bottom))}
  .mobile-primary-bar{min-height:54px;padding-top:4px}
  .mobile-primary-bar .suite-primary{height:44px;min-height:44px}
  .sign-tools-panel.mobile-open,.redact-tools-panel.mobile-open{bottom:calc(54px + 46px + 4px + env(safe-area-inset-bottom));max-height:min(48dvh,260px)}
  .sign-tools-panel.mobile-open .panel-scroll,.redact-tools-panel.mobile-open .panel-scroll{max-height:min(48dvh,260px)}
  .suite-modal-card{max-height:82dvh}
}

@media (max-width:960px){
  .redact-tools-panel.mobile-open[data-mobile-view="result"] .redact-toolbar-grid,
  .redact-tools-panel.mobile-open[data-mobile-view="result"] .tool-block{display:none!important}
  .redact-tools-panel.mobile-open[data-mobile-view="result"] #redact-counts,
  .redact-tools-panel.mobile-open[data-mobile-view="result"] #redaction-result{display:grid}
  .redact-tools-panel.mobile-open[data-mobile-view="result"] #redaction-result.hidden{display:none}
}

/* v6 accessibility floor: icon-only controls keep a 44px hit target. */
@media (max-width:960px){
  .pdf-suite-icon-btn,.pdf-suite-page .theme-toggle{width:44px!important;height:44px!important;min-width:44px;min-height:44px}
  .suite-tool-btn{min-width:44px;min-height:44px}
  .mobile-panel-close{width:44px;height:44px}
}
@media (max-width:960px) and (max-height:600px){
  .pdf-suite-icon-btn,.pdf-suite-page .theme-toggle{width:44px!important;height:44px!important;min-width:44px;min-height:44px}
}
@media (max-width:960px){
  .sign-tools-panel.mobile-open[data-mobile-view="signature"] .segmented{margin-right:48px}
}

/* ======================================================================
   v7 — compact mobile editor chrome for Sign PDF + Redact PDF
   Research-informed priority: keep frequent actions in a horizontal dock,
   move configuration into a small contextual tray, preserve 44px targets.
   ====================================================================== */
.suite-workspace-back{display:none}

@media (max-width:960px){
  /* Sign/Redact are editing canvases: remove the global brand header only here. */
  html[data-pdf-suite-mode="sign-pdf"],
  html[data-pdf-suite-mode="redact-pdf"]{
    --suite-header:0px;
    --suite-topbar:44px;
    --suite-mobile-primary:0px;
    --suite-mobile-tools:54px;
  }
  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-header,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-header{display:none!important}

  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-topbar,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-topbar{
    top:0;
    height:44px;
    min-height:44px;
    grid-template-columns:minmax(0,1fr) 44px;
    padding:2px 8px;
    gap:6px;
  }
  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-title,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-title{gap:6px}
  html[data-pdf-suite-mode="sign-pdf"] .suite-title-icon,
  html[data-pdf-suite-mode="redact-pdf"] .suite-title-icon{
    width:28px;height:28px;border-radius:9px;font-size:.78rem;
  }
  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-title h1,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-title h1{font-size:.9rem;line-height:1;margin:0}
  html[data-pdf-suite-mode="sign-pdf"] .suite-workspace-back,
  html[data-pdf-suite-mode="redact-pdf"] .suite-workspace-back{
    display:grid;
    grid-column:2;
    grid-row:1;
    justify-self:end;
    width:44px!important;height:44px!important;min-width:44px;min-height:44px;
    border:0;background:transparent;border-radius:10px;font-size:1.08rem;
  }

  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar{
    top:43px;
    left:6px;right:6px;
    min-height:42px;
    height:42px;
    padding:1px 3px;
    gap:1px;
    border-radius:11px;
  }
  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar .suite-tool-btn,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar .suite-tool-btn{
    min-width:44px;min-height:40px;height:40px;padding:0 4px;font-size:.88rem;
  }
  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar .page-readout,
  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar .zoom-readout,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar .page-readout,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar .zoom-readout{
    min-width:40px;font-size:.7rem;
  }
  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar .toolbar-divider,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar .toolbar-divider{height:18px}

  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-stage,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-stage{
    height:calc(100dvh - var(--suite-topbar) - var(--suite-mobile-tools) - 42px - env(safe-area-inset-bottom));
    margin-top:42px;
  }
  html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer,
  html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer{padding:8px 7px 36px}
  html[data-pdf-suite-mode="sign-pdf"] .suite-inline-status,
  html[data-pdf-suite-mode="redact-pdf"] .suite-inline-status{
    bottom:8px;
    min-height:24px;
    max-width:calc(100% - 18px);
    padding:4px 8px;
    font-size:.64rem;
  }

  /* One compact editing dock. Tool rail scrolls; primary action stays reachable. */
  .mobile-edit-dock.mobile-sign-toolbar,
  .mobile-edit-dock.mobile-redact-toolbar{
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:86;
    height:calc(var(--suite-mobile-tools) + env(safe-area-inset-bottom));
    display:flex!important;
    grid-template-columns:none!important;
    align-items:flex-start;
    gap:2px;
    padding:3px 4px calc(3px + env(safe-area-inset-bottom));
    background:color-mix(in srgb,var(--suite-panel) 97%,transparent);
    border-top:1px solid var(--suite-border);
    box-shadow:0 -8px 24px rgba(15,43,66,.08);
    backdrop-filter:blur(14px);
  }
  .mobile-tool-scroll{
    min-width:0;
    flex:1 1 auto;
    display:flex;
    align-items:center;
    gap:1px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding:0 2px;
  }
  .mobile-tool-scroll::-webkit-scrollbar{display:none}
  .mobile-sign-toolbar .mobile-tool-scroll>button,
  .mobile-redact-toolbar .mobile-tool-scroll>button{
    flex:0 0 58px;
    width:58px;
    min-width:58px;
    min-height:44px;
    height:44px;
    padding:2px 2px 1px;
    border:0;
    background:transparent;
    color:var(--suite-text);
    border-radius:9px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:1px;
    font:inherit;
    scroll-snap-align:start;
  }
  .mobile-sign-toolbar .mobile-tool-scroll>button span,
  .mobile-redact-toolbar .mobile-tool-scroll>button span{font-size:.72rem;font-weight:900;line-height:1}
  .mobile-sign-toolbar .mobile-tool-scroll>button small,
  .mobile-redact-toolbar .mobile-tool-scroll>button small{
    max-width:55px;
    font:800 .54rem/1 system-ui,-apple-system,"Segoe UI",sans-serif;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .mobile-sign-toolbar .mobile-tool-scroll>button.active,
  .mobile-redact-toolbar .mobile-tool-scroll>button.active{
    background:var(--suite-panel-soft);
    color:var(--suite-accent);
  }
  .mobile-sign-toolbar .mobile-tool-scroll>button:active,
  .mobile-redact-toolbar .mobile-tool-scroll>button:active{transform:scale(.96);background:var(--suite-panel-soft)}
  .mobile-sign-toolbar .mobile-tool-scroll>button:focus-visible,
  .mobile-redact-toolbar .mobile-tool-scroll>button:focus-visible{outline:2px solid color-mix(in srgb,var(--suite-accent) 55%,transparent);outline-offset:-2px}

  .mobile-dock-primary{
    flex:0 0 78px;
    width:78px!important;
    min-width:78px!important;
    height:44px!important;
    min-height:44px!important;
    margin:0;
    padding:0 8px!important;
    border-radius:11px!important;
    font-size:.68rem!important;
    line-height:1!important;
    box-shadow:0 5px 14px rgba(37,156,194,.18)!important;
  }
  #redact-apply-mobile.mobile-dock-primary{flex-basis:72px;width:72px!important;min-width:72px!important}
  .mobile-primary-bar{display:none!important}

  /* Context tray replaces the old half-screen drawer. */
  .sign-tools-panel.mobile-open,.redact-tools-panel.mobile-open{
    left:6px;right:6px;
    bottom:calc(var(--suite-mobile-tools) + 5px + env(safe-area-inset-bottom));
    max-height:min(28dvh,220px);
    border-radius:14px;
    box-shadow:0 14px 36px rgba(0,0,0,.22);
  }
  .sign-tools-panel.mobile-open .panel-scroll,.redact-tools-panel.mobile-open .panel-scroll{
    max-height:min(28dvh,220px);
    padding:7px 8px 9px;
  }
  .mobile-panel-close{top:4px;right:5px;width:44px;height:44px;border-radius:10px;font-size:1.05rem}
  .sign-tools-panel .tool-block,.redact-tools-panel .tool-block{padding:7px;margin:0;border-radius:10px}
  .panel-label{font-size:.58rem;margin:0 42px 4px 1px}
  .helper-copy,.suite-disclosure,.drag-helper{font-size:.62rem;line-height:1.28;padding:5px}
  .suite-field{gap:2px;margin:4px 0}
  .suite-field>span{font-size:.65rem}
  .suite-field input,.suite-field select,.password-field>div{min-height:40px;border-radius:9px;font-size:.76rem}
  .suite-secondary,.suite-primary{border-radius:10px}
  .sign-tools-panel .suite-secondary,.redact-tools-panel .suite-secondary{min-height:40px;padding:0 12px;font-size:.72rem}
  .mini-actions{gap:4px;margin-top:5px;overflow-x:auto;scrollbar-width:none}
  .mini-actions::-webkit-scrollbar{display:none}
  .mini-actions button,.find-nav button{flex:0 0 auto;min-height:40px;padding:0 8px;font-size:.65rem}

  /* Signature tray: one concise composer, not a large card wall. */
  .sign-tools-panel.mobile-open .tool-block,
  .sign-tools-panel.mobile-open .suite-disclosure{display:none!important}
  .sign-tools-panel.mobile-open[data-mobile-view="signature"] #signature-maker,
  .sign-tools-panel.mobile-open[data-mobile-view="properties"] #field-properties,
  .sign-tools-panel.mobile-open[data-mobile-view="pages"] #sign-page-tools{display:block!important}
  .sign-tools-panel.mobile-open[data-mobile-view="signature"] .segmented{margin:0 44px 4px 0;padding:2px}
  .sign-tools-panel.mobile-open[data-mobile-view="signature"] .segmented button{min-height:34px;font-size:.68rem}
  .sign-tools-panel.mobile-open[data-mobile-view="signature"] .signature-live-preview,
  .sign-tools-panel.mobile-open[data-mobile-view="signature"] .drag-helper{display:none!important}
  .signature-style-list{gap:4px;padding:0 0 3px}
  .signature-style{flex-basis:90px!important;min-height:44px!important;height:44px!important;padding:3px 5px!important;border-radius:9px!important}
  .signature-style-sample{font-size:.86rem!important}
  .signature-style small{font-size:.52rem!important}
  .signature-color-row{gap:5px;margin:4px 0}
  .ink{width:24px;height:24px}
  .sign-pane canvas{max-height:88px}
  .signature-upload{min-height:42px;font-size:.68rem}
  .signature-upload-preview img{max-height:50px}
  #add-sign-element{min-height:40px}
  .numeric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}
  .numeric-grid .suite-field>span{font-size:.56rem}
  .numeric-grid .suite-field input{padding-left:5px;padding-right:5px}

  /* Redaction: footer owns navigation; tray shows only the chosen task. */
  .redact-tools-panel.mobile-open .redact-toolbar-grid{display:none!important}
  .redact-tools-panel.mobile-open [data-redact-pane]{display:none!important}
  .redact-tools-panel.mobile-open[data-mobile-view="find"] [data-redact-pane="find"],
  .redact-tools-panel.mobile-open[data-mobile-view="patterns"] [data-redact-pane="patterns"],
  .redact-tools-panel.mobile-open[data-mobile-view="pages"] [data-redact-pane="pages"],
  .redact-tools-panel.mobile-open[data-mobile-view="repeat"] [data-redact-pane="repeat"],
  .redact-tools-panel.mobile-open[data-mobile-view="properties"] [data-redact-pane="properties"],
  .redact-tools-panel.mobile-open[data-mobile-view="edit"] [data-redact-pane="mark"]{display:block!important}
  .check-row{gap:4px}
  .check-row label,.pattern-list label{min-height:36px;padding:4px 6px;font-size:.66rem}
  .match-summary,.redact-counts{padding:5px 7px;margin:4px 0;font-size:.62rem}
  .find-nav{gap:4px}
  .find-nav span{min-width:48px;font-size:.65rem}
  .tool-block details{margin-top:4px}
  .tool-block summary{padding:5px 0;font-size:.68rem}
  .redaction-result{padding:7px;gap:4px;margin-top:4px}
  .redaction-result p{font-size:.62rem}
  #redaction-download{width:auto!important;min-width:152px;justify-self:end;min-height:40px;font-size:.68rem}

  /* Result dialogs/actions keep the document visually dominant. */
  .suite-modal{padding:8px}
  .suite-modal-card{max-height:min(62dvh,430px);padding:13px;border-radius:15px}
  .pdf-suite-page .suite-modal-card h2{font-size:1.05rem;margin:0 38px 4px 0}
  .pdf-suite-page .suite-modal-card p{font-size:.72rem;line-height:1.35;margin:4px 0 0}
  .modal-close{top:6px;right:6px;width:44px;height:44px;border-radius:10px}
  .modal-actions,.modal-actions.stacked-mobile{gap:5px;margin-top:9px}
  .modal-actions .suite-primary,.modal-actions .suite-secondary{min-height:44px;padding:0 6px;font-size:.68rem}
}

@media (max-width:430px){
  .mobile-sign-toolbar .mobile-tool-scroll>button,
  .mobile-redact-toolbar .mobile-tool-scroll>button{flex-basis:55px;width:55px;min-width:55px}
  .mobile-dock-primary{flex-basis:74px;width:74px!important;min-width:74px!important}
  #redact-apply-mobile.mobile-dock-primary{flex-basis:68px;width:68px!important;min-width:68px!important}
}

@media (max-width:340px){
  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-title h1,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-title h1{font-size:.84rem}
  .mobile-sign-toolbar .mobile-tool-scroll>button,
  .mobile-redact-toolbar .mobile-tool-scroll>button{flex-basis:52px;width:52px;min-width:52px}
  .mobile-sign-toolbar .mobile-tool-scroll>button small,
  .mobile-redact-toolbar .mobile-tool-scroll>button small{font-size:.5rem;max-width:49px}
  .mobile-dock-primary{flex-basis:68px;width:68px!important;min-width:68px!important;font-size:.62rem!important}
  #redact-apply-mobile.mobile-dock-primary{flex-basis:64px;width:64px!important;min-width:64px!important}
  .numeric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:960px) and (max-height:600px){
  html[data-pdf-suite-mode="sign-pdf"],html[data-pdf-suite-mode="redact-pdf"]{
    --suite-header:0px;--suite-topbar:42px;--suite-mobile-primary:0px;--suite-mobile-tools:50px;
  }
  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-topbar,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-topbar{height:42px;min-height:42px;top:0}
  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar{top:41px;height:40px;min-height:40px}
  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-stage,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-stage{
    height:calc(100dvh - var(--suite-topbar) - var(--suite-mobile-tools) - 40px - env(safe-area-inset-bottom));
    margin-top:40px;
  }
  .sign-tools-panel.mobile-open,.redact-tools-panel.mobile-open{
    bottom:calc(var(--suite-mobile-tools) + 4px + env(safe-area-inset-bottom));
    max-height:min(31dvh,160px);
  }
  .sign-tools-panel.mobile-open .panel-scroll,.redact-tools-panel.mobile-open .panel-scroll{max-height:min(31dvh,160px)}
}
@media (max-width:960px){
  .mobile-tool-scroll>button:disabled{opacity:.34;cursor:not-allowed;transform:none!important}
}
@media (max-width:960px){
  .mobile-edit-dock .mobile-dock-primary{
    display:flex!important;align-items:center;justify-content:center;
    border:0!important;
    background:linear-gradient(120deg,#51dff1,#6c6cf5)!important;
    color:#07111f!important;
    font-weight:900!important;
  }
  .mobile-edit-dock .mobile-dock-primary:active{background:linear-gradient(120deg,#51dff1,#6c6cf5)!important;transform:scale(.975)!important}
  .mobile-edit-dock .mobile-dock-primary:disabled{opacity:.42!important;background:linear-gradient(120deg,#51dff1,#6c6cf5)!important}
}
@media (max-width:960px){
  .mobile-sign-toolbar .mobile-tool-scroll>button span,
  .mobile-redact-toolbar .mobile-tool-scroll>button span{font-size:.78rem}
  .mobile-sign-toolbar .mobile-tool-scroll>button small,
  .mobile-redact-toolbar .mobile-tool-scroll>button small{font-size:.62rem;max-width:55px}
}
@media (max-width:340px){
  .mobile-sign-toolbar .mobile-tool-scroll>button small,
  .mobile-redact-toolbar .mobile-tool-scroll>button small{font-size:.58rem;max-width:49px}
}


/* ========================================================================== */
/* v100 — Task-first cleanup for dedicated PDF workspaces                     */
/* ========================================================================== */
.suite-help-button{position:relative;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;margin-left:4px;border:0;border-radius:50%;background:transparent;color:var(--suite-muted);font:900 .82rem/1 inherit;cursor:pointer}
.suite-help-button::before{content:"";position:absolute;width:31px;height:31px;border:1px solid var(--suite-border);border-radius:50%;background:var(--suite-panel-soft)}
.suite-help-button:hover{color:var(--suite-accent)}.suite-help-button:active{transform:scale(.96)}.suite-help-button:focus-visible{outline:3px solid color-mix(in srgb,var(--suite-accent) 28%,transparent);outline-offset:1px}
.pdf-suite-title{align-items:center}
.pdf-suite-title>div{min-width:0}
.pdf-suite-title>div>small{font-size:.62rem;letter-spacing:.08em}
.pdf-suite-title h1{line-height:1.08}

/* Security Center: file/action first, not explanatory-card first. */
.security-steps,.security-help-card{display:none!important}
.security-grid{grid-template-columns:240px minmax(0,1fr);max-width:1080px;margin-inline:auto}
.security-heading{max-width:1080px;margin-inline:auto;margin-bottom:14px;align-items:center}
.security-heading>p{max-width:460px;font-size:.84rem}
.security-tabs{max-width:1080px;margin-inline:auto;margin-bottom:14px}
.security-file-card{padding:14px}
.security-config-card{min-height:0;padding:18px}
.privacy-note{padding:9px 10px;margin-top:9px;font-size:.7rem}
.runtime-state.ready{display:none!important}
.runtime-state{padding:8px 10px;margin-top:8px}
.security-shell:not(.has-security-file) .security-config-card{display:none}
.security-shell:not(.has-security-file) .security-grid{grid-template-columns:minmax(280px,520px);justify-content:center}
.security-shell:not(.has-security-file) .security-file-card{width:100%}
.security-file-empty{min-height:110px;margin-bottom:10px}
.security-file-empty span{width:42px;height:42px}
.security-pane>p{margin-bottom:13px;font-size:.78rem}
.security-action-row{margin-top:16px;padding-top:14px}
.security-result #security-download{min-height:44px;padding:0 18px;width:auto;justify-self:start}

/* Compact contextual help. */
.suite-help-layer[hidden]{display:none!important}.suite-help-layer{position:fixed;inset:0;z-index:260;pointer-events:none}
.suite-help-popover{position:fixed;left:var(--suite-help-left,12px);top:var(--suite-help-top,76px);width:var(--suite-help-width,min(360px,calc(100vw - 24px)));max-height:min(470px,calc(100dvh - 24px));overflow:auto;padding:16px;border:1px solid var(--suite-border);border-radius:16px;background:var(--suite-panel);color:var(--suite-text);box-shadow:0 22px 60px rgba(0,0,0,.28);pointer-events:auto;overscroll-behavior:contain}
.suite-help-popover header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.suite-help-popover header strong{font-size:.92rem}.suite-help-popover header button{display:grid;place-items:center;width:40px;height:40px;margin:-8px -8px -8px 0;border:0;border-radius:12px;background:transparent;color:var(--suite-muted);font-size:1.35rem}.suite-help-popover header button:hover{background:var(--suite-panel-soft);color:var(--suite-text)}.suite-help-popover header button:focus-visible{outline:3px solid color-mix(in srgb,var(--suite-accent) 28%,transparent)}
.suite-help-popover>p{margin:0 0 10px;color:var(--suite-muted);font-size:.76rem;line-height:1.5}.suite-help-popover ol{margin:0;padding-left:20px;display:grid;gap:7px;color:var(--suite-muted);font-size:.76rem;line-height:1.45}.suite-help-tip,.suite-help-privacy{margin-top:12px!important;padding-top:10px;border-top:1px solid var(--suite-border);font-size:.7rem!important}.suite-help-privacy{font-weight:700}

@media(max-width:960px){
  .security-grid{grid-template-columns:1fr;max-width:none}.security-heading,.security-tabs{max-width:none}
  .security-shell.has-security-file .security-file-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;padding:10px 12px}
  .security-shell.has-security-file .security-file-card>.panel-label{display:none}.security-shell.has-security-file .security-file-info{grid-column:1/2;margin:0;padding:8px 10px}.security-shell.has-security-file .privacy-note{grid-column:1/-1;margin:0}.security-shell.has-security-file .runtime-state{grid-column:1/-1;margin:0}
}
@media(max-width:600px){
  .suite-help-button{flex-basis:40px;width:40px;height:40px;margin-left:1px}.suite-help-button::before{width:29px;height:29px}
  .pdf-suite-title>div>small{display:none}
  .security-heading{margin-bottom:8px}.security-heading>p{display:none}
  .security-tabs{margin-bottom:10px}
  .security-shell:not(.has-security-file) .security-file-card{padding:12px}
  .security-file-empty{min-height:86px}
  .privacy-note{font-size:.66rem}
  .security-config-card{padding:14px;border-radius:16px}
  .security-pane h2{font-size:1.18rem}
  .security-action-row{position:static;display:grid;grid-template-columns:minmax(92px,.42fr) minmax(0,1fr);gap:8px}
  .security-action-row>*{width:100%;min-width:0}
  .suite-help-layer{pointer-events:auto;background:rgba(5,14,23,.38);backdrop-filter:blur(2px)}
  .suite-help-popover{left:10px!important;right:10px;top:auto!important;bottom:calc(10px + env(safe-area-inset-bottom));width:auto!important;max-height:min(58dvh,440px);border-radius:18px;padding:16px 16px 18px}
  body.suite-help-open{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.suite-help-button,.suite-help-popover{transition:none!important;animation:none!important}}



/* ========================================================================== */
/* v110 — fluid PDF Security Center across zoom, desktop, tablet and mobile   */
/* ========================================================================== */
html[data-pdf-suite-mode="pdf-security"] .pdf-suite-main{
  min-height:calc(100dvh - var(--suite-header));
}
html[data-pdf-suite-mode="pdf-security"] .security-shell.container{
  width:min(1360px,calc(100% - 48px));
  max-width:none;
  padding:clamp(24px,3vw,42px) 0 56px;
}
html[data-pdf-suite-mode="pdf-security"] .security-heading{
  width:min(1240px,100%);
  max-width:none;
  margin:0 auto 18px;
  display:grid;
  grid-template-columns:1fr;
  justify-items:start;
  gap:7px;
}
html[data-pdf-suite-mode="pdf-security"] .security-heading .pdf-suite-title{gap:12px}
html[data-pdf-suite-mode="pdf-security"] .security-heading .suite-title-icon{
  width:48px;height:48px;border-radius:14px;font-size:1.25rem;
}
html[data-pdf-suite-mode="pdf-security"] .security-heading .pdf-suite-title h1{
  font-size:clamp(1.35rem,1.55vw,1.72rem);
  line-height:1.08;
}
html[data-pdf-suite-mode="pdf-security"] .security-heading .pdf-suite-title small{font-size:.68rem}
html[data-pdf-suite-mode="pdf-security"] .security-heading>p{
  max-width:680px;
  margin:0 0 0 60px;
  text-align:left;
  color:var(--suite-muted);
  font-size:clamp(.86rem,.82vw,.96rem);
  line-height:1.5;
}
html[data-pdf-suite-mode="pdf-security"] .security-tabs{
  width:min(1240px,100%);
  max-width:none;
  margin:0 auto 18px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
  overflow:visible;
  padding:5px;
}
html[data-pdf-suite-mode="pdf-security"] .security-tabs button{
  width:100%!important;
  min-width:0;
  min-height:50px;
  padding:0 14px!important;
  font-size:.88rem;
  text-align:center;
}
html[data-pdf-suite-mode="pdf-security"] .security-grid{
  width:min(1240px,100%);
  max-width:none;
  margin:0 auto;
  grid-template-columns:minmax(280px,320px) minmax(0,820px);
  justify-content:center;
  gap:22px;
}
html[data-pdf-suite-mode="pdf-security"] .security-shell:not(.has-security-file) .security-grid{
  width:min(1240px,100%);
  grid-template-columns:minmax(560px,720px);
  justify-content:center;
}
html[data-pdf-suite-mode="pdf-security"] .security-shell:not(.has-security-file) .security-file-card{
  width:100%;
  padding:20px;
  border-radius:20px;
}
html[data-pdf-suite-mode="pdf-security"] .security-shell:not(.has-security-file) .security-file-empty{
  min-height:150px;
  margin-bottom:14px;
  border-radius:16px;
}
html[data-pdf-suite-mode="pdf-security"] .security-shell:not(.has-security-file) .security-file-empty span{
  width:54px;height:54px;border-radius:14px;font-size:.92rem;
}
html[data-pdf-suite-mode="pdf-security"] .security-shell:not(.has-security-file) #security-file-picker{
  min-height:54px;
  font-size:.94rem;
}
html[data-pdf-suite-mode="pdf-security"] .security-file-card,
html[data-pdf-suite-mode="pdf-security"] .security-config-card{min-width:0}
html[data-pdf-suite-mode="pdf-security"] .security-file-info strong,
html[data-pdf-suite-mode="pdf-security"] .security-file-info small{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
html[data-pdf-suite-mode="pdf-security"] .privacy-note{font-size:.76rem;line-height:1.45}
html[data-pdf-suite-mode="pdf-security"] .security-config-card{padding:24px 26px;border-radius:20px}
html[data-pdf-suite-mode="pdf-security"] .security-pane h2{font-size:1.45rem}

@media(min-width:1280px){
  html[data-pdf-suite-mode="pdf-security"] .security-shell:not(.has-security-file) .security-grid{
    grid-template-columns:minmax(640px,760px);
  }
  html[data-pdf-suite-mode="pdf-security"] .security-shell:not(.has-security-file) .security-file-empty{min-height:166px}
}

@media(max-width:1100px){
  html[data-pdf-suite-mode="pdf-security"] .security-shell.container{width:min(100% - 32px,980px);padding-top:24px}
  html[data-pdf-suite-mode="pdf-security"] .security-heading,
  html[data-pdf-suite-mode="pdf-security"] .security-tabs,
  html[data-pdf-suite-mode="pdf-security"] .security-grid{width:100%}
  html[data-pdf-suite-mode="pdf-security"] .security-grid{grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:16px}
  html[data-pdf-suite-mode="pdf-security"] .security-shell:not(.has-security-file) .security-grid{grid-template-columns:minmax(520px,680px)}
}

@media(max-width:820px){
  html[data-pdf-suite-mode="pdf-security"] .security-shell.container{
    width:calc(100% - 24px);
    padding:18px 0 calc(34px + env(safe-area-inset-bottom));
  }
  html[data-pdf-suite-mode="pdf-security"] .security-heading{margin-bottom:12px}
  html[data-pdf-suite-mode="pdf-security"] .security-heading .suite-title-icon{width:42px;height:42px;border-radius:12px;font-size:1.05rem}
  html[data-pdf-suite-mode="pdf-security"] .security-heading .pdf-suite-title h1{font-size:1.16rem}
  html[data-pdf-suite-mode="pdf-security"] .security-heading>p{margin-left:54px;font-size:.8rem;max-width:560px}
  html[data-pdf-suite-mode="pdf-security"] .security-tabs{
    position:sticky;top:var(--suite-header);z-index:40;
    display:flex;grid-template-columns:none;
    gap:4px;overflow-x:auto;overflow-y:hidden;
    margin-bottom:12px;padding:4px;scrollbar-width:none;
  }
  html[data-pdf-suite-mode="pdf-security"] .security-tabs::-webkit-scrollbar{display:none}
  html[data-pdf-suite-mode="pdf-security"] .security-tabs button{
    flex:0 0 auto;width:auto!important;min-width:92px;min-height:46px;padding:0 12px!important;font-size:.8rem;
  }
  html[data-pdf-suite-mode="pdf-security"] .security-grid,
  html[data-pdf-suite-mode="pdf-security"] .security-shell:not(.has-security-file) .security-grid{display:block;width:100%}
  html[data-pdf-suite-mode="pdf-security"] .security-file-card{width:100%;margin:0 0 12px;padding:14px}
  html[data-pdf-suite-mode="pdf-security"] .security-shell:not(.has-security-file) .security-file-empty{min-height:124px}
  html[data-pdf-suite-mode="pdf-security"] .security-config-card{width:100%;padding:18px;border-radius:18px}
}

@media(max-width:520px){
  html[data-pdf-suite-mode="pdf-security"] .security-shell.container{width:calc(100% - 18px);padding-top:12px}
  html[data-pdf-suite-mode="pdf-security"] .security-heading{gap:4px;margin-bottom:9px}
  html[data-pdf-suite-mode="pdf-security"] .security-heading .pdf-suite-title{gap:8px}
  html[data-pdf-suite-mode="pdf-security"] .security-heading .suite-title-icon{width:38px;height:38px;border-radius:11px;font-size:.95rem}
  html[data-pdf-suite-mode="pdf-security"] .security-heading .pdf-suite-title h1{font-size:1.02rem}
  html[data-pdf-suite-mode="pdf-security"] .security-heading .pdf-suite-title small{display:none}
  html[data-pdf-suite-mode="pdf-security"] .security-heading>p{display:block;margin:0 0 0 46px;font-size:.74rem;line-height:1.4;max-width:calc(100% - 46px)}
  html[data-pdf-suite-mode="pdf-security"] .security-tabs{margin-bottom:10px}
  html[data-pdf-suite-mode="pdf-security"] .security-tabs button{min-width:84px;min-height:44px;font-size:.75rem}
  html[data-pdf-suite-mode="pdf-security"] .security-shell:not(.has-security-file) .security-file-card{padding:12px;border-radius:16px}
  html[data-pdf-suite-mode="pdf-security"] .security-shell:not(.has-security-file) .security-file-empty{min-height:112px;margin-bottom:10px}
  html[data-pdf-suite-mode="pdf-security"] .security-shell:not(.has-security-file) #security-file-picker{min-height:50px;font-size:.86rem}
  html[data-pdf-suite-mode="pdf-security"] .privacy-note{font-size:.68rem;padding:9px 10px}
  html[data-pdf-suite-mode="pdf-security"] .security-config-card{padding:14px;border-radius:16px}
  html[data-pdf-suite-mode="pdf-security"] .security-pane h2{font-size:1.18rem}
  html[data-pdf-suite-mode="pdf-security"] .security-action-row{grid-template-columns:1fr;gap:8px}
  html[data-pdf-suite-mode="pdf-security"] .security-action-row .suite-secondary,
  html[data-pdf-suite-mode="pdf-security"] .security-action-row .suite-primary{width:100%!important}
}

/* ========================================================================== */
/* v112 — dark signature legibility, visible help, action containment          */
/* ========================================================================== */

/* A typed signature preview represents ink on paper. Keep that preview on a
   paper surface in dark mode instead of rendering black ink on a dark panel. */
.signature-live-preview,
.signature-style{
  background:#ffffff!important;
  border-color:#cbdbe6!important;
}
.signature-live-preview small,
.signature-style small{color:#5f7487!important}
.signature-style-sample{color:#111827}
.signature-live-preview span{color:#111827}
.signature-style:hover{background:#f5faff!important;border-color:#9fb9ca!important}
.signature-style.active{background:#f3f6ff!important;border-color:#4f6df4!important;box-shadow:0 0 0 3px rgba(79,109,244,.16)!important}

/* Keep the help glyph readable; the old muted token could become almost
   invisible on the dark PDF suite panels. */
.suite-help-button{color:color-mix(in srgb,var(--suite-text) 86%,var(--suite-accent) 14%)!important;text-shadow:0 1px 1px rgba(0,0,0,.18)}
.suite-help-button::before{border-color:color-mix(in srgb,var(--suite-border-strong) 72%,var(--suite-accent) 28%)!important;background:color-mix(in srgb,var(--suite-panel-soft) 92%,var(--suite-accent) 8%)!important}
html[data-theme="dark"] .suite-help-button{color:#f1f9ff!important}

/* Result/processing actions may shrink or wrap, but must never sit outside the
   visible PDF suite surface at unusual widths or browser zoom levels. */
.pdf-suite-page .suite-primary,
.pdf-suite-page .suite-secondary,
.pdf-suite-page .modal-actions>*{
  max-width:100%;box-sizing:border-box;
}
.pdf-suite-page .modal-actions,
.pdf-suite-page .security-action-row,
.pdf-suite-page .mini-actions{
  max-width:100%;min-width:0;
}
@media(max-width:960px){
  .pdf-suite-page .modal-actions{width:100%;min-width:0}
  .pdf-suite-page .modal-actions>*{min-width:0!important}
}


/* v11 — help glyph paint order + narrow action containment */
.suite-help-button{isolation:isolate;color:var(--suite-text)!important}
.suite-help-button::before{z-index:0;pointer-events:none}
.suite-help-glyph{position:relative;z-index:2;display:grid;place-items:center;width:100%;height:100%;color:inherit;font:900 .95rem/1 system-ui,-apple-system,"Segoe UI",sans-serif}
html[data-theme="dark"] .suite-help-glyph{color:#f4fbff!important}
html[data-theme="light"] .suite-help-glyph{color:#17374d!important}
.suite-help-button:active{transform:none!important}
.pdf-suite-page .modal-actions,.pdf-suite-page .security-action-row,.pdf-suite-page .sign-result-actions{min-width:0;max-width:100%;box-sizing:border-box}
.pdf-suite-page .modal-actions>* ,.pdf-suite-page .security-action-row>* ,.pdf-suite-page .sign-result-actions>*{min-width:0;max-width:100%;box-sizing:border-box}

/* v12 — mobile scroll compositing: sticky topbar stays opaque instead of
   applying live backdrop blur over a moving PDF workspace. */
@media (max-width: 900px) {
  .pdf-suite-topbar {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: var(--suite-panel) !important;
  }
}

/* ========================================================================== */
/* v13 — unified mobile PDF chrome + safe Redact navigation                   */
/* Research pattern: document-focused editor header, explicit Move/Hand mode, */
/* and fixed actions that never cover the scrollable page.                    */
/* ========================================================================== */

/* PDF Security is a normal tool page, so its global header matches the other
   PixelOrigen tool pages: brand + theme + All Tools on desktop / menu mobile. */
.pdf-suite-desktop-back{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 14px;
  border:1px solid var(--suite-border);
  border-radius:12px;
  background:var(--suite-panel);
  color:var(--suite-text);
  text-decoration:none;
  font-weight:800;
  font-size:.8rem;
}
.pdf-suite-desktop-back:focus-visible,
.pdf-suite-menu-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--suite-accent) 35%,transparent);outline-offset:2px}
.pdf-suite-menu-btn{display:none}
.pdf-suite-mobile-menu{z-index:95}

/* Redaction interaction layer is passive unless Mark/Edit is explicitly active.
   This lets the underlying viewport receive native one-finger scroll/pan. */
.redaction-layer{
  pointer-events:none!important;
  touch-action:pan-x pan-y!important;
}
.redaction-layer[data-tool="mark"]{
  pointer-events:auto!important;
  touch-action:none!important;
  cursor:crosshair;
}
.redaction-layer[data-tool="mark"] .redaction-mark{pointer-events:auto}
.pdf-viewport{scroll-padding:14px 14px 24px}

@media(max-width:820px){
  .pdf-suite-desktop-back{display:none!important}
  .pdf-suite-menu-btn{display:flex!important}
}

@media(max-width:960px){
  /* Editing canvases get one compact workspace header only. The product header
     is intentionally hidden here to preserve vertical editing space. */
  html[data-pdf-suite-mode="sign-pdf"],
  html[data-pdf-suite-mode="redact-pdf"]{
    --suite-header:0px;
    --suite-topbar:52px;
    --suite-mobile-primary:0px;
    --suite-mobile-tools:54px;
  }
  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-header,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-header{display:none!important}

  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-topbar,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-topbar{
    top:0!important;
    height:var(--suite-topbar)!important;
    min-height:var(--suite-topbar)!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 44px!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    gap:4px!important;
    padding:4px max(6px,env(safe-area-inset-right)) 4px max(6px,env(safe-area-inset-left))!important;
    overflow:hidden!important;
    background:var(--suite-panel)!important;
    border-bottom:1px solid var(--suite-border)!important;
    box-shadow:0 4px 14px rgba(15,43,66,.07)!important;
  }
  html[data-pdf-suite-mode="sign-pdf"] .suite-workspace-back,
  html[data-pdf-suite-mode="redact-pdf"] .suite-workspace-back{
    display:grid!important;
    grid-column:1!important;
    grid-row:1!important;
    position:static!important;
    justify-self:start!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    border:0!important;
    border-radius:11px!important;
    background:transparent!important;
    color:var(--suite-text)!important;
    font-size:1.08rem!important;
  }
  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-title,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-title{
    display:flex!important;
    grid-column:3!important;
    grid-row:1!important;
    min-width:44px!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    justify-self:end!important;
    justify-content:center!important;
    gap:0!important;
    overflow:visible!important;
  }
  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-title>.suite-title-icon,
  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-title>div,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-title>.suite-title-icon,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-title>div{display:none!important}
  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-title .suite-help-button,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-title .suite-help-button{
    flex:0 0 44px!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
  }

  /* Page + zoom controls live inside the same header instead of consuming a
     second toolbar row. Horizontal containment handles the narrowest phones. */
  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar{
    grid-column:2!important;
    grid-row:1!important;
    position:static!important;
    inset:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:44px!important;
    min-height:44px!important;
    display:flex!important;
    justify-content:center!important;
    gap:0!important;
    padding:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar::-webkit-scrollbar,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar::-webkit-scrollbar{display:none}
  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar .suite-tool-btn,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar .suite-tool-btn{
    flex:0 0 44px!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    border-radius:10px!important;
  }
  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar .page-readout,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar .page-readout{
    flex:0 0 50px!important;
    min-width:50px!important;
    font-size:.72rem!important;
  }
  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar .zoom-readout,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar .zoom-readout{
    flex:0 0 48px!important;
    min-width:48px!important;
    font-size:.7rem!important;
  }
  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar .toolbar-divider,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar .toolbar-divider{flex:0 0 1px;height:20px!important}
  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar .suite-tool-text,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar .suite-tool-text{display:none!important}

  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-stage,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-stage{
    height:calc(100dvh - var(--suite-topbar) - var(--suite-mobile-tools) - env(safe-area-inset-bottom))!important;
    margin-top:0!important;
    min-height:0!important;
  }
  html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer,
  html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer{
    padding:10px 8px calc(24px + env(safe-area-inset-bottom))!important;
  }
  html[data-pdf-suite-mode="sign-pdf"] .pdf-viewport,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-viewport{
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch;
    scroll-padding-bottom:28px;
  }
  html[data-pdf-suite-mode="sign-pdf"] .suite-inline-status,
  html[data-pdf-suite-mode="redact-pdf"] .suite-inline-status{bottom:7px!important}

  /* Move is the safe default in Redact PDF. Marking becomes an explicit action. */
  .mobile-redact-toolbar .mobile-tool-scroll>button[data-mobile-redact="pan"] span{font-size:.78rem!important}
  .redact-tools-panel.mobile-open[data-mobile-view="pan"] [data-redact-pane]{display:none!important}
}

@media(max-width:430px){
  /* Keep 44px tap targets but remove non-essential labels when header space is
     extremely tight. The toolbar can still scroll horizontally if required. */
  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar .toolbar-divider,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar .toolbar-divider,
  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar .zoom-readout,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar .zoom-readout{display:none!important}
}


/* ========================================================================== */
/* v14 — reliable one-finger PDF pan for Sign + Redact                       */
/* viewer-core owns touch pan/pinch; mouse wheel/desktop scrolling unaffected.*/
/* ========================================================================== */
@media (pointer:coarse), (max-width:960px){
  html[data-pdf-suite-mode="sign-pdf"] .pdf-viewport,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-viewport{
    touch-action:none!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:auto;
  }
  html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer,
  html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer{
    min-width:100%!important;
    min-height:100%!important;
  }
  html[data-pdf-suite-mode="redact-pdf"] .redaction-layer:not([data-tool="mark"]){
    pointer-events:none!important;
    touch-action:none!important;
  }
}

/* ========================================================================== */
/* v17 — inner PDF page layer is the real pan/scroll surface                  */
/* The outer viewport clips the workspace; the page layer owns scroll.        */
/* ========================================================================== */
.pdf-viewport{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
.page-centering-layer{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  box-sizing:border-box!important;
  scrollbar-gutter:stable both-edges;
}
.pdf-page-shell{
  margin-inline:auto!important;
}
.page-centering-layer.is-panning{
  cursor:grabbing!important;
  user-select:none!important;
}
@media (pointer:coarse), (max-width:960px){
  html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer,
  html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer{
    touch-action:none!important;
    -webkit-overflow-scrolling:auto;
  }
}

/* ========================================================================== */
/* v18 — PDF Security mobile menu glyph + responsive Batch file picker        */
/* Strictly scoped to PDF suite/security controls.                            */
/* ========================================================================== */
@media(max-width:820px){
  html[data-pdf-suite-mode="pdf-security"] .pdf-suite-menu-btn{
    display:grid!important;
    place-content:center!important;
    gap:5px!important;
    padding:9px!important;
  }
  html[data-pdf-suite-mode="pdf-security"] .pdf-suite-menu-btn span{
    display:block!important;
    width:22px!important;
    height:2px!important;
    margin:0!important;
    border-radius:999px!important;
    background:var(--suite-text)!important;
    opacity:1!important;
  }
}
html[data-pdf-suite-mode="pdf-security"] .suite-batch-file-field{
  min-width:0;
}
html[data-pdf-suite-mode="pdf-security"] .suite-batch-file-picker{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  min-width:0;
  min-height:52px;
  padding:7px 12px;
  overflow:hidden;
  border:1px solid var(--suite-border);
  border-radius:12px;
  background:var(--suite-panel);
  color:var(--suite-text);
  cursor:pointer;
}
html[data-pdf-suite-mode="pdf-security"] .suite-batch-file-picker:hover{
  border-color:var(--suite-border-strong);
  background:var(--suite-panel-soft);
}
html[data-pdf-suite-mode="pdf-security"] .suite-batch-file-picker:focus-within{
  outline:3px solid color-mix(in srgb,var(--suite-accent) 40%,transparent);
  outline-offset:2px;
}
html[data-pdf-suite-mode="pdf-security"] .suite-batch-file-icon{
  flex:0 0 36px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:color-mix(in srgb,var(--suite-accent) 12%,var(--suite-panel-soft));
  color:var(--suite-accent);
  font:800 1.05rem/1 system-ui,-apple-system,"Segoe UI",sans-serif;
}
html[data-pdf-suite-mode="pdf-security"] .suite-batch-file-copy{
  min-width:0;
  display:grid;
  gap:1px;
  text-align:left;
}
html[data-pdf-suite-mode="pdf-security"] .suite-batch-file-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--suite-text);
  font-size:.82rem;
}
html[data-pdf-suite-mode="pdf-security"] .suite-batch-file-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--suite-muted);
  font-size:.68rem;
}
html[data-pdf-suite-mode="pdf-security"] .suite-batch-file-picker input[type="file"]{
  position:absolute!important;
  inset:0!important;
  z-index:2;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:inherit!important;
  opacity:0!important;
  cursor:pointer;
}
@media(max-width:520px){
  html[data-pdf-suite-mode="pdf-security"] .suite-batch-file-picker{
    min-height:50px;
    padding:6px 10px;
    gap:9px;
  }
  html[data-pdf-suite-mode="pdf-security"] .suite-batch-file-icon{flex-basis:34px;width:34px;height:34px}
  html[data-pdf-suite-mode="pdf-security"] .suite-batch-file-copy strong{font-size:.78rem}
  html[data-pdf-suite-mode="pdf-security"] .suite-batch-file-copy small{font-size:.64rem}
}


/* ========================================================================== */
/* v20 — PDF Security independent Batch context + single ZIP batch download   */
/* ========================================================================== */
html[data-pdf-suite-mode="pdf-security"] .security-single-file-scope{
  display:block;
  margin-top:10px;
  color:var(--suite-muted);
  font-size:.68rem;
  line-height:1.4;
}
html[data-pdf-suite-mode="pdf-security"] .security-shell.is-batch-mode .security-file-card{
  display:none!important;
}
html[data-pdf-suite-mode="pdf-security"] .security-shell.is-batch-mode .security-config-card{
  display:block!important;
}
html[data-pdf-suite-mode="pdf-security"] .security-shell.is-batch-mode .security-grid,
html[data-pdf-suite-mode="pdf-security"] .security-shell.is-batch-mode:not(.has-security-file) .security-grid{
  width:min(820px,100%);
  grid-template-columns:minmax(0,820px)!important;
  justify-content:center;
}
html[data-pdf-suite-mode="pdf-security"] .security-shell.is-batch-mode .security-config-card{
  width:100%;
}
@media(max-width:820px){
  html[data-pdf-suite-mode="pdf-security"] .security-shell.is-batch-mode .security-grid,
  html[data-pdf-suite-mode="pdf-security"] .security-shell.is-batch-mode:not(.has-security-file) .security-grid{
    display:block;
    width:100%;
  }
}


/* ========================================================================== */
/* v21 — PDF Security selected-file card mobile layout regression fix         */
/* Keep the selected PDF summary full-width; the scope note must never become */
/* an auto-sized second grid column that squeezes the filename/button.         */
/* ========================================================================== */
@media(max-width:960px){
  html[data-pdf-suite-mode="pdf-security"] .security-shell.has-security-file .security-file-card{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%;
    min-width:0;
  }
  html[data-pdf-suite-mode="pdf-security"] .security-shell.has-security-file .security-file-info,
  html[data-pdf-suite-mode="pdf-security"] .security-shell.has-security-file .security-single-file-scope,
  html[data-pdf-suite-mode="pdf-security"] .security-shell.has-security-file .privacy-note,
  html[data-pdf-suite-mode="pdf-security"] .security-shell.has-security-file .runtime-state{
    grid-column:1/-1!important;
    width:100%;
    min-width:0;
  }
  html[data-pdf-suite-mode="pdf-security"] .security-shell.has-security-file .security-file-info{
    margin:0 0 8px!important;
  }
  html[data-pdf-suite-mode="pdf-security"] .security-shell.has-security-file .security-file-info strong,
  html[data-pdf-suite-mode="pdf-security"] .security-shell.has-security-file .security-file-info small{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  html[data-pdf-suite-mode="pdf-security"] .security-shell.has-security-file .security-file-info button{
    width:100%;
    min-width:0;
  }
  html[data-pdf-suite-mode="pdf-security"] .security-shell.has-security-file .security-single-file-scope{
    margin:0 0 8px!important;
    overflow-wrap:anywhere;
  }
}
@media(max-width:420px){
  html[data-pdf-suite-mode="pdf-security"] .security-shell.has-security-file .security-file-card{
    padding:10px!important;
  }
  html[data-pdf-suite-mode="pdf-security"] .security-shell.has-security-file .security-file-info{
    padding:10px!important;
  }
  html[data-pdf-suite-mode="pdf-security"] .security-shell.has-security-file .security-single-file-scope{
    font-size:.64rem;
    line-height:1.35;
  }
}


/* v22 — direct PDF downloads + single Security help ring */
.pdf-suite-page a.suite-primary,.pdf-suite-page a.suite-secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
html[data-pdf-suite-mode="pdf-security"] .suite-help-button{border:1px solid var(--suite-border-strong);background:var(--suite-panel);box-shadow:none}
html[data-pdf-suite-mode="pdf-security"] .suite-help-button::before{display:none!important}


/* Batch Security: prevent long PDF names/status labels from overlapping in Chromium/Firefox. */
html[data-pdf-suite-mode="pdf-security"] .batch-item{min-width:0}
html[data-pdf-suite-mode="pdf-security"] .batch-item>span{min-width:0;overflow:hidden}
html[data-pdf-suite-mode="pdf-security"] .batch-item strong{display:block;max-width:100%;overflow-wrap:anywhere;word-break:break-word;line-height:1.25}
html[data-pdf-suite-mode="pdf-security"] .batch-item small{display:block;margin-top:4px}
html[data-pdf-suite-mode="pdf-security"] .batch-status{min-width:max-content;white-space:nowrap;align-self:start;justify-self:end}
@media(max-width:620px){
  html[data-pdf-suite-mode="pdf-security"] .batch-item{grid-template-columns:minmax(0,1fr);gap:6px}
  html[data-pdf-suite-mode="pdf-security"] .batch-status{justify-self:start}
}

/* ========================================================================== */
/* v29 — panel-aware fit-page scrolling and stable mobile navigation         */
/* ========================================================================== */
html[data-pdf-suite-mode="sign-pdf"] .pdf-viewport,
html[data-pdf-suite-mode="redact-pdf"] .pdf-viewport{
  overflow:hidden!important;
  min-width:0;
  min-height:0;
}
html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer,
html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:auto!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  padding:clamp(10px,2.2vw,30px) clamp(8px,2.2vw,30px) calc(clamp(22px,4vw,48px) + env(safe-area-inset-bottom))!important;
  scroll-padding:12px 12px calc(32px + env(safe-area-inset-bottom));
  overscroll-behavior:contain!important;
  touch-action:pan-x pan-y!important;
  -webkit-overflow-scrolling:touch;
  box-sizing:border-box!important;
}
html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer:not(.is-overflow-x) .pdf-page-shell,
html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer:not(.is-overflow-x) .pdf-page-shell{
  margin-inline:auto!important;
}
html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer.is-overflow-x .pdf-page-shell,
html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer.is-overflow-x .pdf-page-shell{
  margin-inline:0!important;
}
html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer:not(.is-overflow-y),
html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer:not(.is-overflow-y){
  align-items:center!important;
}
html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer.is-overflow-y,
html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer.is-overflow-y{
  align-items:flex-start!important;
}
.pdf-page-shell{
  border-radius:3px;
  box-shadow:0 22px 55px rgba(11,34,52,.2),0 2px 8px rgba(11,34,52,.1);
}
.page-pin-button{
  position:relative;
  width:44px;
  min-width:44px!important;
  height:44px;
  min-height:44px!important;
  padding:0!important;
  font-size:1.05rem;
  border:1px solid transparent!important;
}
.page-pin-button.is-active{
  color:#075f74;
  background:linear-gradient(145deg,rgba(81,223,241,.22),rgba(108,108,245,.15))!important;
  border-color:color-mix(in srgb,var(--suite-accent) 38%,transparent)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
}
.page-centering-layer.is-view-locked{
  touch-action:none!important;
  overscroll-behavior:none!important;
}
.page-centering-layer.is-view-locked .pdf-page-shell{
  scroll-snap-align:none!important;
}
.pdf-view-lock-shield{
  position:absolute;
  inset:0;
  z-index:75;
  pointer-events:none;
  touch-action:none;
  overscroll-behavior:none;
  cursor:not-allowed;
  background:transparent;
}
.pdf-view-lock-shield[hidden]{display:none!important}
.overlay-delete-button{
  position:absolute;
  top:-14px;
  right:-14px;
  z-index:8;
  width:28px;
  min-width:28px;
  height:28px;
  min-height:28px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.9);
  border-radius:50%;
  background:#0b1118;
  color:#fff;
  box-shadow:0 3px 10px rgba(0,0,0,.28);
  text-shadow:none;
  font:900 18px/1 Arial,sans-serif;
  cursor:pointer;
  touch-action:manipulation;
}
.overlay-delete-button:focus-visible{outline:3px solid rgba(81,223,241,.58);outline-offset:2px}
.page-pin-button.is-active span{display:inline-block;transform:rotate(-18deg)}
.page-pin-button.is-pinning{animation:page-pin-pop .28s ease}
.pinned-page-jump{
  min-width:auto!important;
  min-height:38px!important;
  height:38px;
  padding:0 10px!important;
  border:1px solid color-mix(in srgb,var(--suite-accent) 35%,var(--suite-border))!important;
  background:color-mix(in srgb,var(--suite-accent) 8%,var(--suite-panel))!important;
  color:var(--suite-accent)!important;
  font-size:.7rem!important;
}
.page-pin-feedback{
  position:fixed;
  left:50%;
  top:calc(var(--suite-header) + var(--suite-topbar) + 12px);
  z-index:140;
  transform:translate(-50%,-7px);
  width:max-content;
  max-width:min(86vw,340px);
  padding:10px 14px;
  border:1px solid rgba(102,219,255,.34);
  border-radius:13px;
  background:#0b1b2b;
  color:#f7fbff;
  box-shadow:0 12px 32px rgba(10,35,52,.2);
  font-size:.68rem;
  font-weight:850;
  line-height:1.38;
  text-align:center;
  white-space:normal;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
  backdrop-filter:none;
}
.page-pin-feedback.is-visible{opacity:1;transform:translate(-50%,0)}
.pdf-page-shell.is-pin-arrival{animation:pinned-page-arrival .3s ease}
.thumb-item{position:relative;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.thumb-item:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(13,43,64,.1)}
.thumb-item.is-pinned::after{
  content:"📌";
  position:absolute;
  top:5px;
  right:5px;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border:1px solid var(--suite-border);
  border-radius:8px;
  background:var(--suite-panel);
  font-size:.72rem;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
}
.viewer-toolbar{
  box-shadow:0 7px 22px rgba(14,42,63,.08);
  border-color:color-mix(in srgb,var(--suite-border) 82%,var(--suite-accent) 18%);
}
.pdf-canvas-region{
  background:
    radial-gradient(circle at 15% 12%,color-mix(in srgb,var(--suite-accent) 8%,transparent),transparent 32%),
    linear-gradient(145deg,color-mix(in srgb,var(--suite-bg) 90%,#c5d9e6),var(--suite-bg));
}
@keyframes page-pin-pop{50%{transform:scale(1.12) rotate(-5deg)}}
@keyframes pinned-page-arrival{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--suite-accent) 28%,transparent),0 22px 55px rgba(11,34,52,.2)}}
@media(max-width:960px){
  .page-pin-feedback{top:calc(var(--suite-topbar) + 58px);font-size:.65rem}
  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar{justify-content:flex-start!important}
  html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer.is-overflow-y .pdf-page-shell,
  html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer.is-overflow-y .pdf-page-shell{
    margin-bottom:max(260px,calc(72dvh + env(safe-area-inset-bottom)))!important;
  }
  html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer.has-mobile-obstruction,
  html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer.has-mobile-obstruction{
    align-items:flex-start!important;
  }
  html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer.has-mobile-obstruction .pdf-page-shell,
  html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer.has-mobile-obstruction .pdf-page-shell{
    margin-bottom:max(260px,calc(var(--mobile-obstruction-height,0px) + 24px))!important;
  }
}
@media(max-width:430px){
  .pinned-page-jump{padding:0 8px!important;font-size:.64rem!important}
  .pin-divider{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .page-pin-button.is-pinning,.pdf-page-shell.is-pin-arrival{animation:none!important}
  .page-pin-feedback,.thumb-item{transition:none!important}
}

/* v33 — touch-native signature placement and stable mobile browser scrolling. */
.signature-style,
.signature-upload-preview{
  touch-action:pan-x;
}
body.sign-touch-dragging{
  overscroll-behavior:none;
  user-select:none;
  -webkit-user-select:none;
}

.sign-touch-drag-ghost{
  position:fixed;
  left:-56px;
  top:-22px;
  z-index:220;
  width:112px;
  min-height:44px;
  display:grid;
  place-items:center;
  padding:6px 10px;
  border:1px solid color-mix(in srgb,var(--suite-accent) 55%,var(--suite-border));
  border-radius:11px;
  background:color-mix(in srgb,var(--suite-panel) 94%,transparent);
  color:var(--suite-text);
  box-shadow:0 12px 28px rgba(7,28,43,.24);
  font:800 .7rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;
  pointer-events:none;
  will-change:transform;
}
@media(prefers-reduced-motion:reduce){
  .sign-touch-drag-ghost{will-change:auto}
}

/* v34 — final Android gesture endpoint. The PDF page layer, not the browser,
   owns direct one-finger pan and two-finger pinch. */
@media (pointer:coarse), (max-width:960px){
  html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer,
  html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer{
    touch-action:none!important;
    -webkit-overflow-scrolling:auto!important;
    overscroll-behavior:none!important;
  }
  html[data-pdf-suite-mode="redact-pdf"] .redaction-layer:not([data-tool="mark"]){
    pointer-events:none!important;
  }
  html[data-pdf-suite-mode="redact-pdf"] .redaction-layer[data-tool="mark"]{
    pointer-events:auto!important;
    touch-action:none!important;
  }
}

/* v37 — existing redaction regions remain directly editable in Move mode.
   Blank page space still passes through to the PDF scroller. */
.redaction-layer .redaction-mark{
  pointer-events:auto!important;
  touch-action:none!important;
  cursor:move;
}
.redaction-layer .redaction-mark.locked{cursor:not-allowed}
.redaction-layer .redaction-mark .overlay-delete-button{
  pointer-events:auto!important;
  cursor:pointer;
}


/* v19 — selected PixelOrigen logo palette. */
:root{
  --suite-bg:#edf6fb;
  --suite-panel:#ffffff;
  --suite-panel-soft:#f3f8fc;
  --suite-text:#071c3d;
  --suite-muted:#5a7489;
  --suite-border:#cbdde8;
  --suite-border-strong:#a9c4d6;
  --suite-accent:#0b86aa;
  --suite-accent-2:#176cf2;
}
html[data-theme="dark"]{
  --suite-bg:#06101f;
  --suite-panel:#0b1b2e;
  --suite-panel-soft:#102741;
  --suite-text:#f1f8ff;
  --suite-muted:#a7bed0;
  --suite-border:#29445d;
  --suite-border-strong:#416780;
}
.suite-primary{
  background:linear-gradient(115deg,#18cfe3,#176cf2 58%,#18c5a9)!important;
  color:#06162d!important;
  box-shadow:0 10px 24px rgba(11,103,242,.18)!important;
}
.suite-title-icon,
.media-drop-icon{
  background:linear-gradient(145deg,#dffbff,#dfeaff)!important;
  color:#0a6690!important;
}
.field-overlay.selected,
.thumb-item.active{
  border-color:#176cf2!important;
}
.resize-handle{background:#176cf2!important}

/* v20 — reliable field selection/delete controls across mouse, pen and touch. */
.field-overlay .field-delete-control{
  position:absolute;
  top:-18px;
  right:-18px;
  z-index:6;
  width:34px;
  height:34px;
  min-width:34px;
  padding:0;
  display:none;
  place-items:center;
  border:2px solid #fff;
  border-radius:50%;
  background:#071827;
  color:#fff;
  box-shadow:0 5px 16px rgba(3,18,31,.28);
  font:900 20px/1 Arial,sans-serif;
  cursor:pointer;
  touch-action:manipulation;
}
.field-overlay.selected .field-delete-control{display:grid}
.field-overlay .field-delete-control:focus-visible{outline:3px solid color-mix(in srgb,var(--suite-accent-2) 48%,transparent);outline-offset:2px}
@media (max-width:820px),(pointer:coarse){
  .field-overlay .field-delete-control{top:-20px;right:-20px;width:38px;height:38px;min-width:38px;font-size:22px}
  .field-overlay .resize-handle{width:18px;height:18px;right:-10px;bottom:-10px}
}

/* v40 — Sign PDF and Redact PDF scrollbars follow the active theme. */
html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer,
html[data-pdf-suite-mode="sign-pdf"] .thumbnail-list,
html[data-pdf-suite-mode="sign-pdf"] .panel-scroll,
html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer,
html[data-pdf-suite-mode="redact-pdf"] .thumbnail-list,
html[data-pdf-suite-mode="redact-pdf"] .panel-scroll{
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--suite-accent) 72%,var(--suite-muted)) color-mix(in srgb,var(--suite-panel-soft) 90%,transparent);
}
html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer::-webkit-scrollbar,
html[data-pdf-suite-mode="sign-pdf"] .thumbnail-list::-webkit-scrollbar,
html[data-pdf-suite-mode="sign-pdf"] .panel-scroll::-webkit-scrollbar,
html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer::-webkit-scrollbar,
html[data-pdf-suite-mode="redact-pdf"] .thumbnail-list::-webkit-scrollbar,
html[data-pdf-suite-mode="redact-pdf"] .panel-scroll::-webkit-scrollbar{
  width:9px;
  height:9px;
}
html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer::-webkit-scrollbar-track,
html[data-pdf-suite-mode="sign-pdf"] .thumbnail-list::-webkit-scrollbar-track,
html[data-pdf-suite-mode="sign-pdf"] .panel-scroll::-webkit-scrollbar-track,
html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer::-webkit-scrollbar-track,
html[data-pdf-suite-mode="redact-pdf"] .thumbnail-list::-webkit-scrollbar-track,
html[data-pdf-suite-mode="redact-pdf"] .panel-scroll::-webkit-scrollbar-track{
  background:color-mix(in srgb,var(--suite-panel-soft) 90%,transparent);
}
html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer::-webkit-scrollbar-thumb,
html[data-pdf-suite-mode="sign-pdf"] .thumbnail-list::-webkit-scrollbar-thumb,
html[data-pdf-suite-mode="sign-pdf"] .panel-scroll::-webkit-scrollbar-thumb,
html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer::-webkit-scrollbar-thumb,
html[data-pdf-suite-mode="redact-pdf"] .thumbnail-list::-webkit-scrollbar-thumb,
html[data-pdf-suite-mode="redact-pdf"] .panel-scroll::-webkit-scrollbar-thumb{
  border:2px solid color-mix(in srgb,var(--suite-panel-soft) 90%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--suite-accent) 74%,var(--suite-muted));
}
html[data-pdf-suite-mode="sign-pdf"] .page-centering-layer::-webkit-scrollbar-corner,
html[data-pdf-suite-mode="redact-pdf"] .page-centering-layer::-webkit-scrollbar-corner{
  background:color-mix(in srgb,var(--suite-panel-soft) 90%,transparent);
}

/* v34: loaded-document replacement control for Sign/Redact. */
.suite-topbar-right-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;justify-self:end;min-width:0}
.suite-change-pdf{display:inline-flex;align-items:center;justify-content:center;min-height:44px;height:44px;padding:0 14px;border-radius:12px;white-space:nowrap;font-size:.78rem}
.suite-change-pdf[hidden]{display:none!important}
@media (max-width:960px){
  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-topbar,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-topbar{grid-template-columns:44px minmax(0,1fr) auto 44px!important}
  html[data-pdf-suite-mode="sign-pdf"] .viewer-toolbar,
  html[data-pdf-suite-mode="redact-pdf"] .viewer-toolbar{grid-column:2!important}
  html[data-pdf-suite-mode="sign-pdf"] .suite-topbar-right-actions,
  html[data-pdf-suite-mode="redact-pdf"] .suite-topbar-right-actions{grid-column:3!important;grid-row:1!important;display:flex!important;justify-self:end!important;min-width:0!important}
  html[data-pdf-suite-mode="sign-pdf"] .pdf-suite-title,
  html[data-pdf-suite-mode="redact-pdf"] .pdf-suite-title{grid-column:4!important}
  html[data-pdf-suite-mode="sign-pdf"] .suite-change-pdf,
  html[data-pdf-suite-mode="redact-pdf"] .suite-change-pdf{min-width:70px;width:auto!important;min-height:38px;height:38px;padding:0 9px;font-size:.68rem}
  html[data-pdf-suite-mode="sign-pdf"] .suite-topbar-right-actions .top-primary,
  html[data-pdf-suite-mode="redact-pdf"] .suite-topbar-right-actions .top-primary{display:none!important}
}
@media (max-width:380px){
  html[data-pdf-suite-mode="sign-pdf"] .suite-change-pdf,
  html[data-pdf-suite-mode="redact-pdf"] .suite-change-pdf{min-width:58px;padding:0 6px;font-size:0}
  html[data-pdf-suite-mode="sign-pdf"] .suite-change-pdf::after,
  html[data-pdf-suite-mode="redact-pdf"] .suite-change-pdf::after{content:"Change";font-size:.62rem}
}
