/* PDF merger file list. Page layout lives in tool.css. */
.files{margin-top:12px}
.files-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}

.file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;counter-reset:f}
.file{
  display:flex;align-items:center;gap:12px;
  padding:10px 10px 10px 14px;
  counter-increment:f;
  transition:border-color .2s ease,opacity .2s ease;
}
.file::before{
  content:counter(f);
  flex:0 0 22px;
  font:600 12px var(--mono);color:var(--faint);text-align:center;
}
.file[draggable="true"]{cursor:grab}
.file.dragging{opacity:.4}
.file.drop-before{box-shadow:0 -2px 0 var(--cyan)}
.file.drop-after{box-shadow:0 2px 0 var(--cyan)}
.file-meta.error{color:var(--pink)}
.file-range{display:flex;align-items:center;gap:8px;margin-top:6px}
.file-range span{font:600 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.file-range input{
  flex:1;min-width:0;max-width:240px;
  padding:7px 10px;border-radius:8px;
  border:1px solid var(--line);background:rgba(8,10,18,.6);color:var(--fg);
  font:400 13px var(--mono);
}
.file-range input::placeholder{color:var(--faint)}
.file-range input:focus{outline:none;border-color:var(--cyan)}
.file-range input.invalid{border-color:var(--pink)}
.file-range input:disabled{opacity:.5}
.file-btns{display:flex;gap:4px;flex:0 0 auto}
.file-btns .icon-btn{width:34px;height:34px}
.file-btns .icon-btn:disabled{opacity:.3;cursor:default}
.file-btns .icon-btn:not(:disabled):hover{border-color:rgba(255,255,255,.2)}
.file-btns .rm:not(:disabled):hover{color:var(--pink)}

@media (max-width:480px){
  .file{gap:8px;padding-left:8px}
  .file::before{flex-basis:16px}
}

/* Preview of the merged file, one page at a time. */
.merge-preview{margin-top:16px;padding:16px;display:flex;flex-direction:column;gap:12px}
.merge-preview h2{margin:0}
.preview-stage{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  min-height:240px;
  border-radius:10px;background:rgba(0,0,0,.25);
  padding:12px;
}
.preview-stage canvas{
  display:block;max-width:100%;height:auto;
  background:#fff;border-radius:2px;
  box-shadow:0 10px 36px -12px rgba(0,0,0,.8);
}
.preview-note{
  position:absolute;left:12px;right:12px;bottom:12px;margin:0;
  padding:8px 10px;border-radius:8px;
  background:rgba(8,10,18,.85);border:1px solid var(--line);
  font-size:13px;color:var(--muted);text-align:center;
}
.preview-note[hidden]{display:none}
.preview-nav{display:flex;align-items:center;justify-content:center;gap:14px;min-height:34px}
.preview-nav .icon-btn{width:34px;height:34px}
.preview-nav .icon-btn:disabled{opacity:.3;cursor:default}
