/* pdf-editor.css — the PDF editor (assets/js/pdf-editor.js): tools on top, pages on the left, the
   document in the middle, settings on the right. Uses pdf-studio.css for panel boxes and buttons. */

.pe{--pe-top:0px;display:grid;grid-template-columns:136px minmax(0,1fr) 300px;grid-template-rows:auto minmax(0,1fr);gap:12px;
  height:calc(100vh - var(--pe-top) - 28px);min-height:560px;margin-top:4px}
.pe[hidden],.pe [hidden]{display:none!important}
@font-face{font-family:'Dancing Script';font-weight:600;font-display:swap;src:url(../fonts/dancing-script.woff2) format('woff2')}
@font-face{font-family:'Great Vibes';font-weight:400;font-display:swap;src:url(../fonts/great-vibes.woff2) format('woff2')}
@font-face{font-family:'Caveat';font-weight:600;font-display:swap;src:url(../fonts/caveat.woff2) format('woff2')}
.pe .ps-chk{flex-wrap:nowrap!important}

/* ---- tools ---- */
.pe-top{grid-column:1/3;display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--panel,#fff);border:1px solid var(--border,#e4e9f2);border-radius:14px;min-width:0}
.pe-tools{display:flex;flex-wrap:wrap;gap:2px;flex:1;min-width:0}
.pe-tool{flex:none;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:52px;padding:6px 4px 5px;border:none;background:none;border-radius:9px;
  font:inherit;font-size:11px;font-weight:700;color:var(--muted,#5a6377);cursor:pointer;line-height:1.1}
.pe-tool svg{width:19px;height:19px}
.pe-tool:hover{background:var(--field,#f4f6fb);color:var(--text,#1e2635)}
.pe-tool[aria-pressed="true"]{background:var(--accent-soft,#eef1fe);color:var(--accent-dark,#3a52c4)}
.pe-acts{flex:none;display:flex;align-items:center;gap:6px}
.pe-sep{width:1px;height:22px;background:var(--border,#e4e9f2)}
.pe-zv{min-width:58px;justify-content:center}

/* ---- page list ---- */
.pe-thumbs{grid-row:2;display:flex;flex-direction:column;min-height:0;background:var(--panel,#fff);border:1px solid var(--border,#e4e9f2);border-radius:14px;overflow:hidden}
.pe-thead{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 6px 12px;font-size:12.5px;color:var(--muted,#5a6377)}
.pe-thead .ps-btn{padding:5px 6px}
.pe-tlist{flex:1;overflow:auto;padding:4px 10px 12px;display:flex;flex-direction:column;gap:6px;scrollbar-width:thin;user-select:none;-webkit-user-select:none}
.pe-th{position:relative;padding:5px;border-radius:10px;border:2px solid transparent;cursor:pointer;touch-action:pan-y}
.pe-th:hover{background:var(--field,#f4f6fb)}
.pe-th.cur{border-color:var(--accent,#4f6ef7);background:var(--accent-soft,#eef1fe)}
.pe-th.dragging{opacity:.4}
.pe-th.drop-before{box-shadow:0 -4px 0 -1px var(--accent,#4f6ef7)}
.pe-th.drop-after{box-shadow:0 4px 0 -1px var(--accent,#4f6ef7)}
.pe-thimg{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pe-thimg img{max-width:100%;max-height:100%;transform:rotate(var(--r,0deg));box-shadow:0 1px 4px rgba(16,24,40,.2);background:#fff;-webkit-user-drag:none}
.pe-thimg img[style*="90deg"],.pe-thimg img[style*="270deg"]{max-width:75%;max-height:75%}
.pe-thimg img.blank,.pe-thimg img:not([src]){width:70%;height:86%;border:1px dashed var(--border-2,#cfd6e4)}
.pe-thn{display:block;text-align:center;font-size:11.5px;font-weight:700;color:var(--muted,#5a6377);margin-top:3px}
.pe-tha{position:absolute;left:4px;right:4px;bottom:22px;display:flex;justify-content:center;gap:3px;opacity:0;transition:opacity .12s}
.pe-th:hover .pe-tha,.pe-th:focus-within .pe-tha{opacity:1}
@media (hover:none){.pe-tha{opacity:1}}
.pe-tha button{width:28px;height:26px;border:none;border-radius:7px;background:rgba(17,24,39,.78);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;line-height:1}
.pe-tha button:hover{background:var(--accent,#4f6ef7)}
.pe-tha svg{width:14px;height:14px}

/* ---- document ---- */
.pe-view{grid-row:2;min-height:0;overflow:auto;background:var(--field,#eef1f7);border:1px solid var(--border,#e4e9f2);border-radius:14px;outline:none;scrollbar-width:thin}
.pe-doc{display:flex;flex-direction:column;align-items:center;gap:30px;padding:22px 22px 40px;min-width:min-content}
.pe-page{position:relative;flex:none;background:#fff;box-shadow:0 2px 10px rgba(16,24,40,.14)}
.pe-o,.pe-h,.pe-float{touch-action:none}
.pe-cv{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pe-tl,.pe-fl,.pe-ol{position:absolute;inset:0;pointer-events:none}
.pe-pno{position:absolute;right:0;bottom:-20px;font-size:11.5px;font-weight:700;color:var(--faint,#8a94a7)}
.pe-doc[data-tool="text"] .pe-page{cursor:text}
.pe-doc[data-tool="note"] .pe-page{cursor:copy}
.pe-doc[data-tool="rect"] .pe-page,.pe-doc[data-tool="ellipse"] .pe-page,.pe-doc[data-tool="line"] .pe-page,.pe-doc[data-tool="arrow"] .pe-page,
.pe-doc[data-tool="whiteout"] .pe-page,.pe-doc[data-tool="link"] .pe-page,.pe-doc[data-tool="draw"] .pe-page{cursor:crosshair}
.pe-doc[data-tool="highlight"] .pe-page,.pe-doc[data-tool="underline"] .pe-page,.pe-doc[data-tool="strike"] .pe-page{cursor:text}
.pe-doc[data-tool="draw"] .pe-page,.pe-doc[data-tool="rect"] .pe-page,.pe-doc[data-tool="ellipse"] .pe-page,.pe-doc[data-tool="line"] .pe-page,.pe-doc[data-tool="arrow"] .pe-page,
.pe-doc[data-tool="highlight"] .pe-page,.pe-doc[data-tool="underline"] .pe-page,.pe-doc[data-tool="strike"] .pe-page,.pe-doc[data-tool="whiteout"] .pe-page,.pe-doc[data-tool="link"] .pe-page{touch-action:none}

/* existing text you can click to change */
.pe-ti{position:absolute;border-radius:2px}
.mode-edittext .pe-ti{pointer-events:auto;cursor:text;background:rgba(79,110,247,.07);outline:1px dashed rgba(79,110,247,.45)}
.mode-edittext .pe-ti:hover{background:rgba(79,110,247,.18);outline:1.5px solid var(--accent,#4f6ef7)}

/* form fields */
.pe-field{pointer-events:auto;position:absolute;box-sizing:border-box;margin:0;padding:0 3px;border:1px solid rgba(79,110,247,.5);border-radius:2px;background:rgba(220,228,255,.55);
  font-family:Arial,Helvetica,sans-serif;color:#111;resize:none;line-height:1.15}
.pe-field:focus{outline:2px solid var(--accent,#4f6ef7);background:rgba(255,255,255,.95)}
.pe-field.chk{padding:0;accent-color:var(--accent,#4f6ef7);cursor:pointer}
textarea.pe-field{padding-top:2px}

/* items */
.pe-ol>*{pointer-events:auto}
.pe-o{position:absolute;box-sizing:border-box;cursor:move}
.pe-text{white-space:pre;min-width:4px;outline:none;padding:0;margin:0;overflow-wrap:normal}
.pe-text[contenteditable]{cursor:text;outline:1.5px dashed var(--accent,#4f6ef7);outline-offset:2px;caret-color:var(--accent,#4f6ef7)}
.pe-image img{display:block;width:100%;height:100%;pointer-events:none;-webkit-user-drag:none}
.pe-link{border:1.5px dashed #2563eb;background:rgba(37,99,235,.08)}
.pe-ol>svg.pe-o{pointer-events:none;overflow:visible}
svg.pe-o .hit{pointer-events:stroke;cursor:move}
svg.pe-o path:not(.hit){pointer-events:none}
.pe-highlight i,.pe-underline i,.pe-strike i{position:absolute;display:block;pointer-events:none}
.pe-highlight i{mix-blend-mode:multiply}
.pe-note{display:flex;align-items:center;justify-content:center;border-radius:5px;color:#3b2f00;box-shadow:0 2px 6px rgba(16,24,40,.3)}
.pe-note svg{width:70%;height:70%}
.pe-mark svg{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.pe-selbox{position:absolute;border:1.5px solid var(--accent,#4f6ef7);pointer-events:none!important;box-sizing:border-box;margin:-1px 0 0 -1px;padding:1px}
.pe-h{position:absolute;width:11px;height:11px;margin:-6px 0 0 -6px;background:#fff;border:1.5px solid var(--accent,#4f6ef7);border-radius:3px;pointer-events:auto;box-sizing:border-box;touch-action:none}
.pe-ol>.pe-h{cursor:move;border-radius:50%}
.h-nw{left:0;top:0;cursor:nwse-resize}.h-n{left:50%;top:0;cursor:ns-resize}.h-ne{left:100%;top:0;cursor:nesw-resize}.h-e{left:100%;top:50%;cursor:ew-resize}
.h-se{left:100%;top:100%;cursor:nwse-resize}.h-s{left:50%;top:100%;cursor:ns-resize}.h-sw{left:0;top:100%;cursor:nesw-resize}.h-w{left:0;top:50%;cursor:ew-resize}
.pe-float{position:absolute;right:-2px;bottom:calc(100% + 8px);display:flex;gap:4px;pointer-events:auto}
.pe-float button{width:30px;height:28px;border:none;border-radius:8px;background:rgba(17,24,39,.85);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pe-float button:hover{background:var(--accent,#4f6ef7)}
.pe-float button[data-oa="del"]:hover{background:var(--danger,#e5484d)}
.pe-float svg{width:15px;height:15px}

/* ---- settings ---- */
.pe .pe-side{grid-column:3;grid-row:1/3;position:static;max-height:none;min-height:0;overflow:auto}
.pe .help{font-size:12px;color:var(--faint,#8a94a7);line-height:1.5;margin:6px 0 0}
.pe .help kbd{font:inherit;font-size:11px;font-weight:700;padding:0 5px;border-radius:5px;border:1px solid var(--border,#e4e9f2);background:var(--field,#f4f6fb)}
.pe-fmt{display:flex;gap:6px;margin-bottom:12px}
.pe-fmt input{width:72px;box-sizing:border-box;font:inherit;font-size:13.5px;padding:7px 8px;border-radius:9px;border:1px solid var(--border,#e4e9f2);background:var(--field,#f4f6fb);color:var(--text,#1e2635)}
.pe-fmt button{width:36px;border-radius:9px;border:1px solid var(--border,#e4e9f2);background:var(--panel,#fff);color:var(--text,#1e2635);font:inherit;font-size:15px;cursor:pointer}
.pe-fmt button[aria-pressed="true"]{background:var(--accent-soft,#eef1fe);border-color:var(--accent,#4f6ef7);color:var(--accent-dark,#3a52c4)}
.pe-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ps-f.pe-row>label{margin:0!important}
.pe-range>label{display:flex!important;justify-content:space-between}
.pe-range>label b{font-weight:700;color:var(--muted,#5a6377)}
.pe-range input{width:100%;accent-color:var(--accent,#4f6ef7)}
.pe-col{display:flex;gap:6px;align-items:center}
.pe input[type=color]{width:46px;height:30px;padding:2px;border:1px solid var(--border,#e4e9f2);border-radius:8px;background:var(--panel,#fff);cursor:pointer}
.pe-none{width:30px;height:30px;border-radius:8px;border:1px solid var(--border,#e4e9f2);cursor:pointer;
  background:linear-gradient(to top right,transparent 45%,#e5484d 45%,#e5484d 55%,transparent 55%),#fff}
.pe-none.on{outline:2px solid var(--accent,#4f6ef7);outline-offset:1px}
.pe-swatches{display:flex;flex-wrap:wrap;gap:5px;align-items:center;justify-content:flex-end}
.pe-swatches button{width:22px;height:22px;border-radius:50%;border:1px solid rgba(0,0,0,.12);cursor:pointer;padding:0}
.pe-swatches button.on{outline:2px solid var(--accent,#4f6ef7);outline-offset:1px}
.pe-swatches input[type=color]{width:30px;height:24px}
.pe-objacts{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border,#e4e9f2)}
.pe-in{width:100%;box-sizing:border-box;font:inherit;font-size:13.5px;padding:8px 10px;border-radius:9px;border:1px solid var(--border,#e4e9f2);background:var(--field,#f4f6fb);color:var(--text,#1e2635)}
.pe-in:focus{outline:none;border-color:var(--accent,#4f6ef7);background:var(--panel,#fff)}
.pe .ps-f input[type=number]{font:inherit}

.pe-copy{margin-top:14px;padding-top:12px;border-top:1px solid var(--border,#e4e9f2)}
.pe-copy>label{display:block;font-size:13px;font-weight:700;color:var(--text,#1e2635);margin-bottom:6px}
.pe-copyrow{display:flex;flex-wrap:wrap;gap:6px}
.pe-copyrow select{flex:1;min-width:0;font:inherit;font-size:13px;padding:7px 8px;border-radius:9px;border:1px solid var(--border,#e4e9f2);background:var(--field,#f4f6fb);color:var(--text,#1e2635)}
.pe-copyrow .pe-in{flex-basis:100%;order:3}

/* ---- menus & dialogs ---- */
.pe-menu{position:fixed!important;z-index:140}
.pe-menu button.danger{color:var(--danger,#e5484d)}
.pe-menu button:disabled{opacity:.4;cursor:default}
.pe-modal{position:fixed;inset:0;z-index:130;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(10,14,25,.55);backdrop-filter:blur(2px)}
.pe-modal[hidden]{display:none}
.pe-dlg{width:min(420px,100%);max-height:calc(100vh - 32px);overflow:auto;box-sizing:border-box;background:var(--panel,#fff);color:var(--text,#1e2635);border-radius:16px;padding:20px;box-shadow:0 24px 60px rgba(0,0,0,.3)}
.pe-dlg.wide{width:min(640px,100%)}
.pe-dlg h3{margin:0 0 10px!important;font-size:17px!important}
.pe-dlg p{font-size:13.5px;color:var(--muted,#5a6377);margin:0 0 12px}
.pe-dlg .err{color:var(--danger,#e5484d)}
.pe-dlg-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.pe-dlg-h h3{margin:0!important}
.pe-dlg-row{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:14px}
.pe-dlg-row.left{justify-content:space-between;margin-top:10px}
.pe-dlg .ps-go{width:auto;padding:10px 20px;font-size:14.5px}
.pe-sigpane{margin-top:12px}
.pe-sigpad{display:block;width:100%;aspect-ratio:3/1;border:1.5px dashed var(--border-2,#cfd6e4);border-radius:12px;background:#fff;touch-action:none;cursor:crosshair}
.pe-colors{display:flex;gap:8px}
.pe-colors label{cursor:pointer}
.pe-colors input{position:absolute;opacity:0;pointer-events:none}
.pe-colors i{display:block;width:24px;height:24px;border-radius:50%}
.pe-colors input:checked+i{outline:2px solid var(--accent,#4f6ef7);outline-offset:2px}
.pe-sigfonts{display:grid;gap:8px;margin-top:10px}
.pe-sigfonts input{position:absolute;opacity:0;pointer-events:none}
.pe-sigfonts span{display:block;padding:6px 14px;font-weight:600;border:1px solid var(--border,#e4e9f2);border-radius:10px;background:#fff;color:#111;font-size:30px;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.pe-sigfonts input:checked+span{border-color:var(--accent,#4f6ef7);box-shadow:0 0 0 3px var(--accent-soft,#eef1fe)}
.pe-sigs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.pe-sigs button{height:58px;padding:6px 10px;border:1px solid var(--border,#e4e9f2);border-radius:10px;background:#fff;cursor:pointer}
.pe-sigs button:hover{border-color:var(--accent,#4f6ef7)}
.pe-sigs img{height:100%;display:block}
.pe-sigsv{position:relative;display:inline-block}
.pe-sigs .pe-sigdel{position:absolute;top:-7px;right:-7px;width:22px;height:22px;padding:0;border-radius:50%;background:var(--panel,#fff);color:var(--muted,#5a6377);font-size:15px;line-height:1}
.pe-sigs .pe-sigdel:hover{background:var(--danger,#e5484d);border-color:var(--danger,#e5484d);color:#fff}

/* ---- narrower screens ---- */
@media (max-width:1180px){
  .pe{grid-template-columns:112px minmax(0,1fr) 270px}
  .pe-tool{min-width:46px;font-size:10.5px}
}
@media (max-width:900px){
  .pe{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(60vh,1fr) auto;height:auto;min-height:0}
  .pe-top{grid-column:1;position:sticky;top:var(--pe-top,0px);z-index:30;flex-wrap:wrap}
  .pe-tools{flex-basis:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .pe-acts{margin-left:auto}
  .pe-thumbs{grid-row:2}
  .pe-thead{display:none}
  .pe-tlist{flex-direction:row;overflow-x:auto;padding:8px}
  .pe-th{flex:none;width:72px}
  .pe-tha{display:none}
  .pe-view{grid-row:3;height:70vh}
  .pe .pe-side{grid-column:1;grid-row:4;overflow:visible}
  .pe-doc{padding:14px 10px 30px;gap:26px}
}
/* form fields being created (PDF Forms) */
.pe-o.pe-fobj[class*="pe-fk-"]{display:flex;align-items:center;padding:0 4px;box-sizing:border-box;border:1.5px dashed var(--accent,#4f6ef7);background:rgba(79,110,247,.10);color:#2a3a80;font-family:Helvetica,Arial,sans-serif;white-space:nowrap;overflow:hidden;line-height:1}
.pe-o.pe-fobj.pe-fk-check,.pe-o.pe-fobj.pe-fk-radio{justify-content:center;padding:0;font-weight:700}
.pe-o.pe-fobj.pe-fk-radio{border-radius:50%}
.pe-o.pe-fobj.pe-fk-select{justify-content:space-between}
.pe-o.pe-fobj.pe-fk-sign{background:rgba(255,213,79,.18);border-color:#d79b00;color:#8a6200}
.pe-o.pe-fobj.pe-fk-date{color:#5a6377}
/* redaction marks (Redact PDF) */
.pe-o.pe-redact{background:rgba(17,24,39,.42);outline:1.5px solid #e5484d;outline-offset:-1px}
.pe-o.pe-redactt i{position:absolute;background:rgba(17,24,39,.35);outline:1px dashed #e5484d}
.pe-doc.rd-final .pe-o.pe-redact{container-type:size;background:var(--rd-fill,#000);outline:none;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pe-doc.rd-final .pe-o.pe-redact::after{content:var(--rd-label,'');color:var(--rd-ink,#fff);font:700 min(60cqh,17cqw,16px)/1 Helvetica,Arial,sans-serif;white-space:nowrap}
.pe-doc.rd-final .pe-o.pe-redact.sel{outline:2px solid var(--accent,#4f6ef7)}
.rd-list{max-height:220px;overflow:auto;margin:8px 0 0;padding:0;list-style:none;border:1px solid var(--border,#e4e9f2);border-radius:10px}
.rd-list li{display:flex;gap:8px;align-items:flex-start;padding:7px 10px;border-bottom:1px solid var(--border,#e4e9f2);font-size:12.5px;line-height:1.35;cursor:pointer}
.rd-list li:last-child{border-bottom:none}.rd-list li:hover{background:var(--field,#f4f6fb)}
.rd-list li input{margin-top:2px;flex:none}.rd-list li small{color:var(--faint,#8a94a7);flex:none;margin-left:auto;white-space:nowrap}
.rd-list mark{background:#111827;color:#fff;border-radius:2px;padding:0 2px}
.rd-pats{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px}.rd-pats .ps-chk{margin:0}
.rd-row{display:flex;gap:8px}.rd-row input{flex:1;min-width:0}
.pe-o.pe-fobj .pe-fph{color:#6b7aa8;font-style:italic}
.pe-o.pe-fobj.editing{cursor:text;background:#fff;border-style:solid;outline:2px solid var(--accent,#4f6ef7);user-select:text;-webkit-user-select:text}
