@font-face{font-family:UtiliKitPDF;src:url('../assets/vendor/pdf/editor/NotoSans-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:UtiliKitPDF;src:url('../assets/vendor/pdf/editor/NotoSans-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:UtiliKitPDF;src:url('../assets/vendor/pdf/editor/NotoSans-Italic.ttf') format('truetype');font-style:italic;font-display:swap}
@font-face{font-family:UtiliKitPDF;src:url('../assets/vendor/pdf/editor/NotoSans-BoldItalic.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:UtiliKitPDFSerif;src:url('../assets/vendor/pdf/editor/NotoSerif-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:UtiliKitPDFSerif;src:url('../assets/vendor/pdf/editor/NotoSerif-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:UtiliKitPDFSerif;src:url('../assets/vendor/pdf/editor/NotoSerif-Italic.ttf') format('truetype');font-style:italic;font-display:swap}
@font-face{font-family:UtiliKitPDFSerif;src:url('../assets/vendor/pdf/editor/NotoSerif-BoldItalic.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:UtiliKitPDFMono;src:url('../assets/vendor/pdf/editor/NotoSansMono-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:UtiliKitPDFMono;src:url('../assets/vendor/pdf/editor/NotoSansMono-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
.pdf-app{max-width:1100px;margin:20px auto;padding:24px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;position:relative}
.pdf-app h1{text-align:center}.pdf-intro{text-align:center;margin:10px auto 20px;max-width:740px}.pdf-note{font-size:.86rem;color:var(--text-muted);line-height:1.6;margin:12px 0}.pdf-warning{padding:12px 16px;background:rgba(245,158,11,.13);border:1px solid #d68a12;border-radius:8px;color:var(--text-main);line-height:1.5}
.pdf-upload{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;border:2px dashed var(--border-color);border-radius:12px;background:var(--bg-body);cursor:pointer;width:100%;color:var(--text-main);font:inherit;text-align:center}.pdf-upload.drag-active{border-color:var(--primary)}
.pdf-upload strong{font-size:1.25rem}.pdf-actions,.pdf-toolbar,.pdf-format,.pdf-page-actions,.pdf-settings{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.pdf-actions{justify-content:space-between;margin:16px 0}.pdf-toolbar{padding:10px;background:var(--bg-body);border:1px solid var(--border-color);border-radius:8px}.pdf-toolbar button,.pdf-page-actions button,.pdf-format button,.pdf-modal-heading button{font:inherit;color:var(--text-main);background:var(--bg-surface);border:1px solid var(--border-color);padding:9px 12px;border-radius:6px;cursor:pointer;min-height:40px}.pdf-toolbar button[aria-pressed=true]{background:var(--primary);color:white}.pdf-app button:focus-visible,.pdf-dialog button:focus-visible,.pdf-dialog input:focus-visible,.pdf-dialog select:focus-visible,.pdf-overlay:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.pdf-app button:disabled,.pdf-dialog button:disabled{opacity:.45;cursor:not-allowed}
.pdf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;padding:14px;max-height:650px;overflow:auto;margin:16px 0;background:var(--bg-body)}
.pdf-card{padding:10px;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-surface);min-width:0}.pdf-card.deleted{opacity:.55;border-color:#ef4444}.pdf-card.drag-over{border-color:var(--primary)}.pdf-card canvas{display:block;width:100%;height:auto;max-height:240px;object-fit:contain;background:white}.pdf-card .pdf-page-label{font-size:.8rem;word-break:break-word;margin:8px 0}.pdf-page-actions{justify-content:center}.pdf-page-actions button{padding:5px 8px;min-width:34px;font-size:.8rem}.pdf-status{margin:12px 0;min-height:24px;white-space:pre-line;overflow-wrap:anywhere}.pdf-status[data-error=true]{color:#dc2626}
.pdf-dialog{border:0;padding:0;width:min(1400px,97vw);height:95dvh;max-width:97vw;max-height:95dvh;background:var(--bg-body);color:var(--text-main);border-radius:12px;box-shadow:0 20px 60px #0008}.pdf-dialog::backdrop{background:#000b}.pdf-dialog-shell{height:100%;display:flex;flex-direction:column;min-height:0}.pdf-modal-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;gap:10px;border-bottom:1px solid var(--border-color)}.pdf-modal-heading h2{font-size:1.15rem;margin:0}.pdf-dialog .pdf-toolbar{border-radius:0;flex-shrink:0;max-height:160px;overflow:auto}.pdf-format{padding:10px 14px;border-bottom:1px solid var(--border-color);flex-shrink:0;max-height:180px;overflow:auto}.pdf-format label,.pdf-settings label{display:flex;align-items:center;gap:5px;font-size:.85rem}.pdf-format input,.pdf-format select,.pdf-settings input,.pdf-settings select{background:var(--bg-surface);color:var(--text-main);border:1px solid var(--border-color);border-radius:5px;padding:5px;min-height:36px}.pdf-format input[type=number]{width:70px}.pdf-format input[type=color]{width:40px;padding:2px}.pdf-format input[type=text]{width:min(260px,55vw)}
.pdf-canvas-scroll{flex:1;min-height:0;overflow:auto;background:#d7d9dd;padding:16px}.pdf-canvas-wrapper{position:relative;margin:0 auto;background:white;box-shadow:0 6px 30px #0004;flex-shrink:0}.pdf-canvas-wrapper canvas{display:block;width:100%;height:100%}.pdf-overlay-layer{position:absolute;inset:0;touch-action:none;overflow:hidden;isolation:isolate}.pdf-overlay{position:absolute;box-sizing:border-box;outline:1px dashed #888;cursor:move;border:0;transform-origin:top left}.pdf-overlay.selected{outline:2px solid #0984e3}.pdf-overlay textarea{border:0!important;resize:none;background:transparent!important;color:inherit;padding:0!important;box-shadow:none!important;line-height:1.25;font-family:UtiliKitPDF,sans-serif;display:block;width:100%;height:100%;outline:none!important;overflow:hidden}.pdf-overlay img{width:100%;height:100%;display:block;pointer-events:none}.pdf-overlay input[type=text]{width:100%;height:100%;font:inherit;box-sizing:border-box;color:#000;background:#fff9;border:1px dashed #148ccc;padding:2px}.pdf-overlay input[type=checkbox]{width:100%;height:100%;margin:0;accent-color:#111}.pdf-overlay svg{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}.pdf-overlay .pdf-resize{position:absolute;right:-5px;bottom:-5px;width:22px;height:22px;border:2px solid white;background:#0984e3;border-radius:3px;cursor:nwse-resize;display:none;touch-action:none}.pdf-overlay.selected .pdf-resize{display:block}.pdf-overlay[data-type=redact]{z-index:100!important;background:#000;outline:2px dashed #ffb000}.pdf-modal-help{padding:6px 14px;font-size:.78rem;background:var(--bg-surface);margin:0;flex-shrink:0}.pdf-password{height:auto;max-width:420px;padding:24px}.pdf-password form{display:grid;gap:14px}.pdf-password input{padding:10px;width:100%;box-sizing:border-box;background:var(--bg-surface);color:var(--text-main);border:1px solid var(--border-color)}
.pdf-app,.pdf-dialog{--primary:#ba3c32}.pdf-canvas-scroll{overflow-anchor:none}.pdf-overlay .pdf-resize{padding:0;min-height:22px}.pdf-format #geometry-controls input{width:76px}
.pdf-overlay .pdf-resize{right:-16px;bottom:-16px}.pdf-modal-help[data-error=true]{color:#b42318}
.pdf-dialog .pdf-overlay textarea{width:100%!important;height:100%!important;padding:0!important;font-size:inherit!important;font-family:inherit!important;line-height:1.25!important}
.pdf-dialog .pdf-overlay input{width:100%!important;height:100%!important;padding:2px!important;font-size:inherit!important}
.pdf-dialog .pdf-overlay .pdf-resize{width:22px!important;height:22px!important;padding:0!important}
@media(max-width:768px){.pdf-app .pdf-toolbar button,.pdf-app .pdf-page-actions button,.pdf-dialog .pdf-toolbar button,.pdf-dialog .pdf-format button,.pdf-dialog .pdf-modal-heading button{width:auto!important;max-width:100%!important;font-size:13px!important;padding:8px!important;height:auto!important}.pdf-dialog .pdf-format input[type=number]{width:76px!important;font-size:16px!important;padding:4px!important;height:34px!important}.pdf-dialog .pdf-format select{width:auto!important;font-size:16px!important;padding:4px!important;height:36px!important}.pdf-dialog .pdf-format input[type=color]{width:40px!important;height:34px!important;padding:2px!important}.pdf-dialog .pdf-format input[type=text]{width:180px!important;padding:5px!important;font-size:16px!important}.pdf-dialog .pdf-modal-heading h2{font-size:1.05rem;flex:1}.pdf-dialog .pdf-modal-heading button{flex:none}.pdf-app .pdf-settings label{max-width:100%}}
[hidden]{display:none!important}
@media(max-width:600px){.pdf-app{padding:14px;margin:10px auto}.pdf-actions>.pdf-toolbar{width:100%}.pdf-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.pdf-dialog .pdf-toolbar{gap:5px;padding:6px;max-height:130px}.pdf-toolbar button{padding:7px 8px;font-size:.8rem}.pdf-format{padding:7px;gap:6px;max-height:130px}.pdf-modal-heading{padding:8px}.pdf-canvas-scroll{padding:8px}.pdf-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));padding:7px;gap:8px}.pdf-modal-help{font-size:.72rem}.pdf-actions{gap:12px}.pdf-actions .btn{font-size:.85rem;padding:10px}}
