/*! PDF Edit (c) 2026 pdfedit.com — All rights reserved. Source files are MIT/Apache-licensed third-party libraries plus original work. Copying, redistribution, or derivative works require attribution. Contact: hello@pdfedit.com */
.modal-backdrop[data-modal-id^=sign-dialog] .modal{max-width:640px}.sign-modal{display:flex;flex-direction:column;gap:14px;font-size:13px;color:var(--text)}.sign-modal__intro{padding:12px 14px;background:var(--surface-2);border-radius:6px;font-size:12px;line-height:1.5;color:var(--text-secondary)}.sign-modal__intro strong{color:var(--text)}.sign-modal__header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.sign-modal__steps{display:flex;align-items:center;gap:8px;flex:1 1 auto}.sign-modal__step{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border-subtle);font-size:11px;font-weight:600;color:var(--text-secondary);transition:background .16s ease,color .16s ease,border-color .16s ease}.sign-modal__step--active{background:color-mix(in srgb,var(--primary) 12%,var(--surface));border-color:var(--primary);color:var(--primary)}.sign-modal__step--done{background:color-mix(in srgb,var(--primary) 6%,var(--surface-2));color:var(--text);border-color:color-mix(in srgb,var(--primary) 30%,var(--border-subtle))}.sign-modal__step-num{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--surface);border:1px solid currentColor;font-size:10px;font-weight:700;flex-shrink:0}.sign-modal__step--active .sign-modal__step-num{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}.sign-modal__step--done .sign-modal__step-num{background:color-mix(in srgb,var(--primary) 50%,var(--surface));color:var(--primary-fg);border-color:color-mix(in srgb,var(--primary) 50%,var(--surface))}.sign-modal__step-label{font-size:11px;letter-spacing:.01em}.sign-modal__what-link{flex-shrink:0;background:transparent;border:none;color:var(--primary);font-size:12px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:4px;text-decoration:underline;text-underline-offset:2px;font-family:inherit}.sign-modal__what-link:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.sign-modal__hero{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 20px 16px;background:color-mix(in srgb,var(--primary) 6%,var(--surface-2));border:1px solid color-mix(in srgb,var(--primary) 20%,var(--border-subtle));border-radius:10px;text-align:center}.sign-modal__hero-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;background:var(--surface);border-radius:50%;box-shadow:0 4px 12px -4px #00000026}.sign-modal__hero-title{margin:0;font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.01em}.sign-modal__hero-sub{margin:0;max-width:460px;font-size:13px;line-height:1.55;color:var(--text-secondary)}.sign-modal__hero-sub strong{color:var(--text)}.sign-modal__explain{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:6px}.sign-modal__explain-title{margin:0;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary)}.sign-modal__explain-list{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.5;color:var(--text)}.sign-modal__explain-list li strong{color:var(--text)}.sign-modal__verdicts{display:flex;flex-direction:column;gap:6px}.sign-modal__verdict{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:6px;font-size:12px;line-height:1.45;color:var(--text);background:var(--surface);border:1px solid var(--border-subtle)}.sign-modal__verdict-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-top:4px;flex-shrink:0}.sign-modal__verdict--green .sign-modal__verdict-dot{background:#16a34a}.sign-modal__verdict--yellow .sign-modal__verdict-dot{background:#d97706}.sign-modal__verdict--red .sign-modal__verdict-dot{background:#dc2626}.sign-modal__path-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sign-modal__path{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border-subtle);border-radius:6px}.sign-modal__path-icon{font-size:24px;line-height:1;flex-shrink:0}.sign-modal__path-name{font-size:13px;font-weight:700;color:var(--text);margin-bottom:2px}.sign-modal__path-desc{font-size:11px;line-height:1.45;color:var(--text-secondary)}.sign-modal__privacy-note{padding:10px 14px;background:color-mix(in srgb,#16a34a 8%,var(--surface-2));border:1px solid color-mix(in srgb,#16a34a 30%,var(--border-subtle));border-radius:6px;font-size:12px;line-height:1.5;color:var(--text);text-align:center}.sign-modal__learn{border:1px dashed var(--border);border-radius:6px;padding:0;overflow:hidden}.sign-modal__learn summary{cursor:pointer;list-style:none;padding:10px 14px;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--surface-2);user-select:none;display:flex;align-items:center;justify-content:space-between}.sign-modal__learn summary::-webkit-details-marker{display:none}.sign-modal__learn summary:after{content:"\25be";font-size:14px;color:var(--text-muted);transition:transform .2s ease}.sign-modal__learn[open] summary:after{transform:rotate(180deg)}.sign-modal__learn-body{padding:12px 14px;background:var(--surface);font-size:12px;line-height:1.55;color:var(--text-secondary)}.sign-modal__learn-body p{margin:0 0 8px}.sign-modal__learn-body p:last-child{margin-bottom:0}.sign-modal__learn-body strong{color:var(--text)}.sign-modal__dont-show{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);cursor:pointer;user-select:none;margin-right:auto}.sign-modal__dont-show input[type=checkbox]{width:14px;height:14px;flex-shrink:0}.sign-modal__disclaimer{padding:12px 14px;background:#fef3c7;border:1px solid #f59e0b;border-left:4px solid #d97706;border-radius:4px;font-size:12px;line-height:1.5;color:#78350f}.sign-modal__disclaimer strong{display:block;margin-bottom:4px;font-size:13px;font-weight:700}[data-mode=dark] .sign-modal__disclaimer,.theme-dark .sign-modal__disclaimer{background:#2a1f0a;color:#fcd34d}.sign-modal__section{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:var(--surface-2, #f9fafb);border:1px solid var(--border-subtle, #e5e7eb);border-radius:6px}.sign-modal__section-title{margin:0;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted, #6b7280)}.sign-modal__row{display:flex;flex-direction:column;gap:4px}.sign-modal__label{font-size:12px;font-weight:600;color:var(--text)}.sign-modal__input{width:100%;padding:8px 10px;font-size:13px;font-family:var(--font);color:var(--text);background:var(--surface, #fff);border:1px solid var(--border, #d1d5db);border-radius:4px;box-sizing:border-box;transition:border-color var(--transition-fast)}.sign-modal__input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #dc26261f}.sign-modal__file{padding:6px 10px}.sign-modal__check{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer;user-select:none}.sign-modal__check input[type=checkbox]{width:14px;height:14px;flex-shrink:0}.sign-modal__hint{font-size:11px;color:var(--text-muted, #6b7280);line-height:1.4;margin-top:2px}.sign-modal__error{display:none;padding:10px 12px;background:#fee2e2;border:1px solid #ef4444;border-radius:4px;color:#991b1b;font-size:12px}.sign-modal__error.is-visible{display:block}.sign-modal__prompt{margin:0;font-size:14px;font-weight:600;color:var(--text);text-align:center}.sign-modal__option{display:flex;align-items:flex-start;gap:14px;padding:16px;background:var(--surface);border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all var(--transition-fast);text-align:left;font-family:inherit;font-size:13px;color:var(--text);width:100%}.sign-modal__option:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,var(--surface-2));transform:translateY(-1px)}.sign-modal__option:active{transform:translateY(0)}.sign-modal__option-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:30px;line-height:1}.sign-modal__option-body{flex:1;min-width:0}.sign-modal__option-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sign-modal__option-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,#16a34a 14%,var(--surface));color:#15803d;font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sign-modal__option-badge--pro{background:color-mix(in srgb,var(--primary) 14%,var(--surface));color:var(--primary)}.sign-modal__option-desc{font-size:12px;line-height:1.5;color:var(--text-secondary);margin-bottom:8px}.sign-modal__option-pros{margin:0 0 8px;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}.sign-modal__option-pros li{padding-left:18px;position:relative;font-size:12px;color:var(--text);line-height:1.4}.sign-modal__option-pros li:before{content:"\2713";position:absolute;left:2px;top:0;color:#16a34a;font-weight:700}.sign-modal__option-caveat{font-size:11px;line-height:1.45;color:var(--text-secondary);font-style:italic;padding-top:6px;border-top:1px dashed var(--border-subtle)}.sign-modal__option-caveat strong{color:var(--text);font-style:normal}.sign-modal__option-caveat code{font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:11px;background:var(--surface-2);padding:1px 5px;border-radius:3px}.sign-modal__note{padding:12px 14px;background:color-mix(in srgb,#f59e0b 8%,var(--surface-2));border:1px solid color-mix(in srgb,#f59e0b 30%,var(--border-subtle));border-radius:6px;font-size:12px;line-height:1.55;color:var(--text)}.sign-modal__note strong{color:var(--text)}.sign-modal__note--privacy{background:color-mix(in srgb,#16a34a 8%,var(--surface-2));border-color:color-mix(in srgb,#16a34a 28%,var(--border-subtle))}.sign-modal__helper{padding:10px 14px;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:6px;font-size:11px;line-height:1.55;color:var(--text-secondary)}.sign-modal__helper strong{color:var(--text)}.sign-modal__helper a{color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}@media (max-width: 640px){.modal-backdrop[data-modal-id^=sign-dialog] .modal{max-width:95vw}.sign-modal__header-row{flex-wrap:wrap}.sign-modal__steps{order:2;width:100%;justify-content:space-between;gap:4px}.sign-modal__step{padding:4px 6px}.sign-modal__step-label{display:none}.sign-modal__what-link{order:1;margin-left:auto}.sign-modal__hero-title{font-size:18px}.sign-modal__hero-sub{font-size:12px}.sign-modal__path-preview{grid-template-columns:1fr}.sign-modal__option{padding:12px}.sign-modal__option-icon{width:36px;height:36px;font-size:24px}}.sign-modal__summary{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#dcfce7;border:1px solid #16a34a;border-left:4px solid #16a34a;border-radius:4px;color:#14532d}.sign-modal__summary-icon{color:#16a34a}.sign-modal__summary-name{font-size:14px;font-weight:700}.sign-modal__summary-meta{font-size:11px;color:#166534;margin-top:2px}[data-mode=dark] .sign-modal__summary,.theme-dark .sign-modal__summary{background:#0f2818;color:#86efac}.ov.ov-signature{background:#fffffff2;border:1px solid #16a34a;border-radius:3px;overflow:hidden}.ov.ov-signature .ov-signature__inner{display:flex;height:100%;padding:6px 8px;gap:8px;font-family:ui-monospace,SF Mono,Consolas,monospace;color:#14532d}.ov.ov-signature .ov-signature__graphic{flex-shrink:0;width:64px;display:flex;align-items:center;justify-content:center;border-right:1px solid #d1fae5;padding-right:6px}.ov.ov-signature .ov-signature__graphic img{max-width:100%;max-height:100%;object-fit:contain}.ov.ov-signature .ov-signature__text{flex:1;display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0}.ov.ov-signature .ov-signature__header{font-size:7px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#16a34a}.ov.ov-signature .ov-signature__name{font-size:10px;font-weight:700;color:#14532d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ov.ov-signature .ov-signature__date,.ov.ov-signature .ov-signature__reason,.ov.ov-signature .ov-signature__location{font-size:7px;color:#166534;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sig-status{display:flex;align-items:center;gap:12px;padding:10px 16px;font-size:12px;font-weight:500;position:sticky;top:0;z-index:50;animation:sig-status-in .2s ease-out;border-bottom-width:1px;border-bottom-style:solid;border-left-width:4px;border-left-style:solid}@keyframes sig-status-in{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.sig-status--green{background:#dcfce7;color:#14532d;border-bottom-color:#22c55e;border-left-color:#16a34a}.sig-status--yellow{background:#fef3c7;color:#78350f;border-bottom-color:#f59e0b;border-left-color:#d97706}.sig-status--red{background:#fee2e2;color:#991b1b;border-bottom-color:#ef4444;border-left-color:#dc2626}.sig-status__icon{flex-shrink:0}.sig-status--green .sig-status__icon{color:#16a34a}.sig-status--yellow .sig-status__icon{color:#d97706}.sig-status--red .sig-status__icon{color:#dc2626}.sig-status__text{flex:1;display:flex;flex-direction:column;gap:1px}.sig-status__text strong{font-weight:700;font-size:13px}.sig-status__verdict{font-size:11px;opacity:.85}.sig-status__btn{flex-shrink:0;padding:5px 12px;background:#00000014;color:inherit;border:1px solid currentColor;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;font-family:var(--font);transition:background .12s ease}.sig-status__btn:hover{background:#00000029}.sig-status__close{background:transparent;border:none;color:inherit;font-size:18px;cursor:pointer;padding:0 4px;line-height:1;opacity:.6}.sig-status__close:hover{opacity:1}.sig-details{display:flex;flex-direction:column;gap:12px;min-width:420px;max-width:560px;font-size:12px}.sig-details__signer{padding:12px 14px;background:var(--surface-2, #f9fafb);border:1px solid var(--border-subtle, #e5e7eb);border-radius:4px}.sig-details__name{font-size:13px;margin-bottom:4px;color:var(--text)}.sig-details__status{font-size:12px;font-weight:600;margin-bottom:8px}.sig-details__row{font-size:11px;color:var(--text-muted);padding:1px 0;word-break:break-all}.sig-details__error{color:#991b1b;font-weight:600}
