/*! 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{position:fixed;inset:0;z-index:10000000;display:flex;align-items:center;justify-content:center;background:#00000073;animation:modalFadeIn var(--transition-base) ease both}.modal-backdrop--closing{animation:modalFadeOut .2s ease both}.modal{position:relative;width:90%;max-width:520px;max-height:85vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:modalScaleIn var(--transition-base) ease both;overflow:hidden}.modal--closing{animation:modalScaleOut .2s ease both}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.modal__title{font-family:var(--font);font-size:var(--text-lg);font-weight:600;color:var(--text);line-height:1.3;margin:0}.modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius);background:transparent;color:var(--text-secondary);font-size:20px;line-height:1;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0}.modal__close:hover{background:var(--surface-2);color:var(--primary)}.modal__close:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.modal__body{padding:20px var(--space-5);overflow-y:auto;font-family:var(--font);font-size:var(--text-md);color:var(--text);line-height:1.5}.modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-subtle);flex-shrink:0}.modal__btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);font-family:var(--font);font-size:var(--text-sm);font-weight:500;line-height:1;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap;min-height:34px}.modal__btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.modal__btn--primary{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}.modal__btn--primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.modal__btn--cancel{background:transparent;color:var(--text-secondary);border-color:transparent}.modal__btn--cancel:hover{background:var(--surface-2);color:var(--text)}.modal__btn--danger{background:transparent;color:#dc2626;border-color:var(--border)}.modal__btn--danger:hover{background:#dc262614;border-color:#dc2626}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalScaleOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(8px)}}@media (prefers-reduced-motion: reduce){.modal-backdrop,.modal,.modal-backdrop--closing,.modal--closing{animation-duration:.01ms!important}}.crop-overlay{position:absolute;inset:0;z-index:60;pointer-events:none;user-select:none;cursor:default}.crop-mask{position:absolute;background:#0f172a8c;pointer-events:auto}[data-mode=dark] .crop-mask{background:#000000a6}.crop-rect{position:absolute;box-sizing:border-box;border:1.5px dashed rgba(255,255,255,.95);outline:1px solid rgba(15,23,42,.6);outline-offset:-1.5px;background:transparent;cursor:move;pointer-events:auto;box-shadow:0 0 0 1px #00000040,inset 0 0 0 1px #ffffff26}.crop-rect:focus-visible{outline-color:var(--primary)}.crop-rect:before,.crop-rect:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35}.crop-rect:before{background:linear-gradient(to right,transparent calc(33.333% - .5px),rgba(255,255,255,.9) calc(33.333% - .5px),rgba(255,255,255,.9) calc(33.333% + .5px),transparent calc(33.333% + .5px)),linear-gradient(to right,transparent calc(66.666% - .5px),rgba(255,255,255,.9) calc(66.666% - .5px),rgba(255,255,255,.9) calc(66.666% + .5px),transparent calc(66.666% + .5px))}.crop-rect:after{background:linear-gradient(to bottom,transparent calc(33.333% - .5px),rgba(255,255,255,.9) calc(33.333% - .5px),rgba(255,255,255,.9) calc(33.333% + .5px),transparent calc(33.333% + .5px)),linear-gradient(to bottom,transparent calc(66.666% - .5px),rgba(255,255,255,.9) calc(66.666% - .5px),rgba(255,255,255,.9) calc(66.666% + .5px),transparent calc(66.666% + .5px))}.crop-handle{position:absolute;width:12px;height:12px;background:#fff;border:1.5px solid #1f2937;border-radius:2px;box-shadow:0 1px 3px #00000080;pointer-events:auto;z-index:1}.crop-handle--nw{top:-7px;left:-7px;cursor:nwse-resize}.crop-handle--n{top:-7px;left:50%;transform:translate(-50%);cursor:ns-resize}.crop-handle--ne{top:-7px;right:-7px;cursor:nesw-resize}.crop-handle--e{top:50%;right:-7px;transform:translateY(-50%);cursor:ew-resize}.crop-handle--se{bottom:-7px;right:-7px;cursor:nwse-resize}.crop-handle--s{bottom:-7px;left:50%;transform:translate(-50%);cursor:ns-resize}.crop-handle--sw{bottom:-7px;left:-7px;cursor:nesw-resize}.crop-handle--w{top:50%;left:-7px;transform:translateY(-50%);cursor:ew-resize}.crop-toolbar{position:fixed;bottom:18px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;padding:6px 8px;background:var(--surface);border:1px solid var(--border);border-radius:999px;box-shadow:0 10px 30px #00000038,0 2px 8px #0000001a;z-index:9000;font-size:12.5px;color:var(--text);white-space:nowrap;max-width:calc(100vw - 24px)}.crop-toolbar__group{display:inline-flex;align-items:center;gap:6px;padding:0 4px}.crop-toolbar__label{font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.02em}.crop-toolbar__radio{display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-size:12.5px}.crop-toolbar__radio input{accent-color:var(--primary);width:13px;height:13px;margin:0}.crop-toolbar__sep{width:1px;height:18px;background:var(--border-subtle);flex-shrink:0}.crop-toolbar__btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:transparent;color:var(--text);border:1px solid transparent;border-radius:999px;font-size:12.5px;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s,color .12s;flex-shrink:0}.crop-toolbar__btn svg{display:block}.crop-toolbar__btn:hover{background:color-mix(in srgb,var(--primary) 10%,transparent);border-color:color-mix(in srgb,var(--primary) 25%,var(--border))}.crop-toolbar__btn:disabled{opacity:.55;cursor:not-allowed}.crop-toolbar__btn--ghost{color:var(--text-muted)}.crop-toolbar__btn--primary{background:var(--primary);color:#fff;border-color:var(--primary);padding:5px 14px;font-weight:600}.crop-toolbar__btn--primary:hover{background:color-mix(in srgb,#000 10%,var(--primary));border-color:color-mix(in srgb,#000 10%,var(--primary));color:#fff}.crop-toolbar__status{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);font-size:11.5px;color:var(--text-muted);background:var(--surface);border:1px solid var(--border-subtle);border-radius:6px;padding:3px 8px;box-shadow:0 4px 14px #0000001a;white-space:nowrap;max-width:calc(100vw - 24px);overflow:hidden;text-overflow:ellipsis}.crop-toolbar__status:empty{display:none}@media (max-width: 640px){.crop-toolbar{gap:4px;padding:5px 6px;font-size:12px}.crop-toolbar__btn{padding:5px 8px;font-size:12px}.crop-toolbar__btn[data-action=auto] .crop-toolbar__btn-label{display:none}.crop-toolbar__group{padding:0 2px;gap:4px}.crop-toolbar__label{display:none}}
