/* pdf.chu.es (14-oct-2026) */
.pf-drop{ display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:2.6rem 1rem; border:2px dashed rgba(13,110,253,.35) !important; cursor:pointer; transition:background .15s, border-color .15s; }
.pf-drop > .bi{ font-size:2.6rem; color:#dc3545; margin-bottom:.4rem; }
.pf-drop.is-over{ background:rgba(13,110,253,.06); border-color:#0d6efd !important; }
#pf-work:not([hidden]) ~ * .pf-drop, .pf-has-files .pf-drop{ padding:1rem; }
.pf-has-files #pf-drop{ display:none; }
.pf-presets{ display:flex; flex-wrap:wrap; gap:.5rem; }
.pf-layout{ display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:1.2rem; align-items:start; }
.pf-pages{ padding:1rem; min-height:300px; }
.pf-toolbar{ display:flex; flex-wrap:wrap; gap:.35rem; margin-bottom:.8rem; position:sticky; top:58px; z-index:5; background:#fff; padding:.3rem 0; }
.pf-files{ display:flex; flex-wrap:wrap; gap:.35rem; margin-bottom:.7rem; }
.pf-file{ font-size:.78rem; border-radius:99px; padding:.15rem .6rem .15rem .45rem; background:#f1f3f7; display:inline-flex; align-items:center; gap:.35rem; max-width:100%; }
.pf-file i.dot{ width:.6rem; height:.6rem; border-radius:50%; display:inline-block; flex:0 0 auto; }
.pf-file span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:220px; }
.pf-file button{ border:0; background:none; padding:0 .1rem; color:#6b7280; line-height:1; }
.pf-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(128px,1fr)); gap:.8rem; }
.pf-pg{ position:relative; border-radius:.6rem; background:#fff; border:2px solid transparent; padding:.35rem; cursor:pointer; user-select:none; box-shadow:0 1px 4px rgba(15,23,42,.08); }
.pf-pg.is-sel{ border-color:#0d6efd; background:#eef4ff; }
.pf-pg .th{ aspect-ratio:.72; display:flex; align-items:center; justify-content:center; background:#f6f7f9; border-radius:.35rem; overflow:hidden; }
.pf-pg .th img{ max-width:100%; max-height:100%; transition:transform .2s; box-shadow:0 0 0 1px rgba(0,0,0,.08); }
.pf-pg .meta{ display:flex; justify-content:space-between; align-items:center; font-size:.72rem; color:#6b7280; margin-top:.25rem; }
.pf-pg .meta i.dot{ width:.5rem; height:.5rem; border-radius:50%; display:inline-block; }
.pf-pg .acts{ position:absolute; top:.45rem; right:.45rem; display:none; gap:.2rem; }
.pf-pg:hover .acts, .pf-pg.is-sel .acts{ display:flex; }
.pf-pg .acts button{ border:0; width:1.7rem; height:1.7rem; border-radius:.4rem; background:rgba(15,23,42,.75); color:#fff; font-size:.8rem; display:flex; align-items:center; justify-content:center; }
.pf-pg .sig{ position:absolute; left:.45rem; top:.45rem; background:#198754; color:#fff; border-radius:.35rem; font-size:.7rem; padding:.05rem .35rem; }
.pf-pg.sortable-ghost{ opacity:.35; }
.pf-side{ position:sticky; top:70px; }
.pf-acts{ max-height:calc(100vh - 90px); overflow:auto; }
.pf-grp{ border-top:1px solid rgba(0,0,0,.07); padding:.4rem 0; }
.pf-grp summary{ font-weight:800; font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; color:#475569; cursor:pointer; padding:.35rem 0; }
.pf-act{ border-radius:.6rem; padding:.45rem .55rem; margin:.15rem 0; border:1px solid transparent; }
.pf-act > label{ display:flex; gap:.45rem; align-items:center; cursor:pointer; margin:0; }
.pf-act > span{ display:block; font-size:.78rem; color:#6b7280; margin-left:1.45rem; line-height:1.35; }
.pf-act .pf-opt{ display:none; margin:.4rem 0 .1rem 1.45rem; }
.pf-act.is-on{ background:#f1f6ff; border-color:rgba(13,110,253,.3); }
.pf-act.is-on .pf-opt{ display:block; }
.pf-act.is-on .pf-opt.d-flex{ display:flex !important; }
.pf-act.is-hint{ border-color:rgba(255,193,7,.7); background:#fffbea; }
.pf-run{ border-top:1px solid rgba(0,0,0,.07); padding-top:.8rem; margin-top:.4rem; position:sticky; bottom:-1.2rem; background:#fff; padding-bottom:.6rem; }
.pf-sugg{ display:flex; gap:.6rem; align-items:flex-start; background:#fff8e1; border:1px solid #ffe08a; border-radius:.8rem; padding:.6rem .8rem; font-size:.9rem; }
.pf-sugg .btn{ white-space:nowrap; }
.pf-pad{ width:100%; height:180px; border:1px dashed #94a3b8; border-radius:.6rem; background:#fff; touch-action:none; }
.pf-stage{ position:relative; display:inline-block; max-width:100%; background:#e5e7eb; border-radius:.4rem; }
.pf-stage canvas{ display:block; max-width:100%; height:auto; }
.pf-box{ position:absolute; border:1.5px dashed #0d6efd; cursor:move; touch-action:none; }
.pf-box img{ width:100%; height:100%; pointer-events:none; display:block; }
.pf-box .rs{ position:absolute; right:-7px; bottom:-7px; width:14px; height:14px; background:#0d6efd; border-radius:3px; cursor:nwse-resize; }
.pf-box .x{ position:absolute; right:-10px; top:-10px; width:20px; height:20px; border-radius:50%; border:0; background:#dc3545; color:#fff; font-size:.7rem; line-height:20px; padding:0; }
.pf-view-c{ max-width:100%; height:auto; box-shadow:0 2px 12px rgba(0,0,0,.15); }
.pf-prog{ background:#fff; border-radius:1rem; }
.pf-steps li{ list-style:none; padding:.25rem 0; }
.pf-steps li.done{ color:#198754; } .pf-steps li.cur{ font-weight:700; }
@media (max-width:991.98px){
  .pf-layout{ grid-template-columns:1fr; }
  .pf-side{ position:static; }
  .pf-acts{ max-height:none; }
  .pf-run{ position:sticky; bottom:0; z-index:6; box-shadow:0 -6px 16px rgba(0,0,0,.06); padding-left:.2rem; padding-right:.2rem; }
}
@media (max-width:575.98px){
  .pf-grid{ grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); gap:.5rem; }
  .pf-toolbar{ top:52px; }
  .pf-pages{ padding:0; }
}
