:root{
  --pmu-bg:#ffffff;
  --pmu-border:#e5e7eb;
  --pmu-muted:#6b7280;
  --pmu-text:#111827;
  --pmu-primary:#2563eb;
  --pmu-primary-hover:#1d4ed8;
  --pmu-soft:#f8fafc;
  --pmu-soft-2:#eef2ff;
  --pmu-dashed:#d1d5db;
  --pmu-shadow: 0 10px 20px rgba(17,24,39,.06), 0 6px 10px rgba(17,24,39,.04);
  --pmu-radius:18px;
}

/* Карточка */
#pdf-merge-tool.pmu-card{
  background:var(--pmu-bg);
  border:1px solid var(--pmu-border);
  border-radius:var(--pmu-radius);
  padding:24px;
  max-width:900px;
  margin:0 auto;
  box-shadow:var(--pmu-shadow);
}

/* Шапка */
.pmu-card-head{ display:flex; gap:12px; align-items:flex-start; margin-bottom:16px; }
.pmu-icon{ width:40px;height:40px;min-width:40px;border-radius:10px;background:var(--pmu-soft);color:var(--pmu-primary);display:flex;align-items:center;justify-content:center; }
.pmu-title{ margin:0; font-size:28px; line-height:1.2; color:var(--pmu-text); }
.pmu-subtitle{ margin:4px 0 0; color:var(--pmu-muted); }

/* Ряды */
#pdf-merge-tool .pmu-row{ display:flex; gap:12px; align-items:center; margin:12px 0; flex-wrap:wrap; }
.pmu-hint{ font-size:14px;color:var(--pmu-muted); margin:6px 0 8px; }
.pmu-hint-small{ font-size:12px;color:var(--pmu-muted); margin:2px 0 6px; }

/* Инпуты/кнопки */
.pmu-input-file{ padding:10px 12px; border:1px solid var(--pmu-border); background:#fff;border-radius:10px; font-size:14px;color:var(--pmu-text); }
.pmu-input-text{ flex:1 1 260px; padding:10px 12px; border:1px solid var(--pmu-border); border-radius:10px; font-size:14px;color:var(--pmu-text); outline:none; }
.pmu-input-text:focus{ border-color:var(--pmu-primary); box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.pmu-btn{ appearance:none;border:0; padding:10px 16px; border-radius:10px; font-weight:600; cursor:pointer; transition:.2s ease-in-out; }
.pmu-btn-primary{ background:var(--pmu-primary); color:#fff; }
.pmu-btn-primary:hover{ background:var(--pmu-primary-hover); transform:translateY(-1px); }

/* DROP-зона */
.pmu-drop{
  border:2px dashed var(--pmu-dashed);
  border-radius:14px;
  background:#fbfdff;
  padding:18px;
  text-align:center;
  transition:.15s;
}
.pmu-drop.dragover{ background:var(--pmu-soft-2); border-color:var(--pmu-primary); }
.pmu-drop-inner{ display:flex; gap:10px; align-items:center; justify-content:center; }
.pmu-drop-icon{ font-size:18px; }
.pmu-drop-text{ color:var(--pmu-muted); }

/* Список файлов */
#file-list.pmu-list{
  list-style:none;margin:12px 0 0;padding:0;
  border:2px dashed var(--pmu-dashed);
  border-radius:14px; background:#fbfdff;
  min-height:64px;
}
#file-list .empty{ padding:12px;color:var(--pmu-muted); }
.file-item{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:10px 12px;border-bottom:1px solid var(--pmu-border);
  background:#fff;border-radius:12px;
}
.file-item:last-child{ border-bottom:0; }
.file-item .name{ flex:1 1 auto; min-width:120px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--pmu-text); }
.file-item .thumb{ width:40px;height:52px;background:#eef2f7;border:1px solid var(--pmu-border); border-radius:4px; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.file-item .thumb canvas{ width:100%; height:100%; display:block; }
.file-item .actions button{ margin-left:6px;padding:6px 10px;border:1px solid var(--pmu-border);background:var(--pmu-soft);color:var(--pmu-text);border-radius:8px;cursor:pointer;transition:.15s; }
.file-item .actions button:hover{ background:#eef2ff; }

/* Превью (split) */
.pmu-thumbs{ display:flex; gap:10px; flex-wrap:wrap; margin:10px 0 6px; }
.pmu-thumbs .thumb{
  width:90px; height:120px; border:1px solid var(--pmu-border); border-radius:6px;
  background:#f3f6fb; overflow:hidden; display:flex; align-items:center; justify-content:center;
  position:relative; cursor:pointer;
}
.pmu-thumbs .thumb:hover{ box-shadow:0 0 0 2px #dbeafe inset; }
.pmu-thumbs .thumb canvas{ width:100%; height:100%; }

/* Бейдж номера страницы на превью split */
.pmu-thumb-num{
  position:absolute; right:6px; bottom:6px;
  background:rgba(17,24,39,.8); color:#fff;
  padding:3px 6px; font-size:12px; line-height:1; border-radius:6px;
  box-shadow:0 2px 6px rgba(0,0,0,.15);
  user-select:none; pointer-events:none;
}

/* Progress */
.pmu-progress{ width:100%; height:10px; background:#eef2f7; border-radius:999px; overflow:hidden; margin:10px 0; }
.pmu-progress-bar{ width:0%; height:100%; background:linear-gradient(90deg,#60a5fa,#2563eb); transition:width .2s; }

/* Результат */
.pmu-result{ margin-top:14px; padding-top:8px; border-top:1px dashed var(--pmu-dashed); font-size:15px; }
.pmu-result a{ display:inline-block; padding:10px 14px; border-radius:10px; background:var(--pmu-primary); color:#fff; text-decoration:none; transition:.2s; margin-top:6px; }
.pmu-result a:hover{ background:var(--pmu-primary-hover); transform:translateY(-1px); }

/* Мобильная подстройка */
@media (max-width:560px){
  .pmu-title{ font-size:22px; }
  .pmu-card-head{ flex-wrap:wrap; align-items:center; }
  .pmu-subtitle{ flex-basis:100%; margin:6px 0 0 52px; line-height:1.4; }
  #pdf-merge-tool .pmu-row{ gap:10px; }
  .pmu-btn, .pmu-input-file, .pmu-input-text{ width:100%; }
  .file-item{ padding:8px 10px; }
}

/* Нативная drop-зона с перекрывающим file-input */
.pmu-drop-native { position: relative; overflow: hidden; }
.pmu-drop-native .pmu-drop-inner{ position: relative; z-index: 1; pointer-events: none; }
.pmu-drop-native input[type="file"]#split-drop-input{
  position: absolute; inset: 0; z-index: 2; opacity: 0; cursor: pointer; width: 100%; height: 100%;
}
.pmu-drop-native input[type="file"]#split-drop-input:focus-visible + .pmu-drop-inner,
.pmu-drop-native:focus-within { box-shadow: 0 0 0 3px rgba(37,99,235,.18) inset; }

/* Fullscreen DnD shield */
#pmu-dnd-shield{ position: fixed; inset: 0; z-index: 2147483647; background: transparent; pointer-events: none; }
#pmu-dnd-shield.visible{ pointer-events: auto; }

/* Бейдж "выбран файл" */
.pmu-fileinfo{
  display:flex; align-items:center; gap:8px; margin:8px 0 2px; padding:10px 12px;
  background:var(--pmu-soft); border:1px solid var(--pmu-border); border-radius:10px;
  font-size:14px; color:var(--pmu-text);
}
.pmu-fileinfo .dot{ width:8px;height:8px;border-radius:999px;background:var(--pmu-primary); flex:none; }
.pmu-fileinfo .fname{ flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pmu-fileinfo .fsize,.pmu-fileinfo .sep{ color:var(--pmu-muted); }

/* ===== МОДАЛЬНОЕ ОКНО ПРОСМОТРА ===== */
.pmu-modal{
  position:fixed; inset:0; z-index:2147483000; display:none;
}
.pmu-modal.open{ display:block; }
.pmu-modal .pmu-modal-backdrop{
  position:absolute; inset:0; background:rgba(17,24,39,.6);
}
.pmu-modal .pmu-modal-dialog{
  position:absolute; inset:auto; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:min(92vw,1100px); height:min(92vh,800px);
  background:#fff; border-radius:14px; box-shadow:var(--pmu-shadow);
  display:flex; flex-direction:column; overflow:hidden;
}
.pmu-modal-toolbar{
  display:flex; align-items:center; gap:8px;
  padding:10px; border-bottom:1px solid var(--pmu-border); background:#f8fafc;
}
.pmu-modal-toolbar .pmu-m-spacer{ flex:1 1 auto; }
.pmu-modal-toolbar button{
  padding:8px 12px; border:1px solid var(--pmu-border); background:#fff; border-radius:8px; cursor:pointer;
}
.pmu-modal-toolbar button:hover{ background:#f3f6fb; }
.pmu-modal-toolbar .pmu-m-pageinfo{ color:var(--pmu-muted); font-size:14px; }

.pmu-modal-body{
  position:relative; flex:1 1 auto; overflow:auto; background:#f3f4f6;
  display:flex; align-items:flex-start; justify-content:center; padding:16px;
}
#pmu-modal-canvas{
  max-width:100%; height:auto; display:block; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.08);
  border-radius:8px;
}

/* ===== PDF TOOL: COMMON VIEWER & CONTROLS (Merge/Split/Compress) ===== */
.pmu-fieldset{
  font-size: .9em;            /* меньше текст внутри рамки */
}
.pmu-fieldset label{
  display: block;             /* варианты в столбик */
  margin: 6px 0;
}
#compress-quality{
  width: 90px;
  margin-left: 26px;
}

/* Modal viewer — общий для всех разделов */
.pmu-modal-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.65);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.pmu-modal{
  background: #fff;
  max-width: 92vw;
  max-height: 92vh;
  width: 100%;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 15px 50px rgba(0,0,0,.25);
}
.pmu-modal-bar{
  padding: 10px 12px;
  border-bottom: 1px solid #eee;
  display: flex;
  gap: 8px;
  align-items: center;
  background: #fafafa;
}
.pmu-title{
  font-weight: 600;
  margin-right: 10px;
  max-width: 40vw;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pmu-modal-bar button{
  border: 1px solid #ddd;
  background: #fff;
  padding: 6px 10px;
  border-radius: 8px;
  cursor: pointer;
}
.pmu-modal-bar button:hover{
  background: #f2f2f2;
}
.pmu-page-ind{
  opacity: .8;
  font-size: .95em;
  padding: 0 4px;
}
.pmu-zoom-pct{
  opacity: .8;
}
.pmu-modal-body{
  padding: 0;
  overflow: auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  background: #f5f5f5;
}
.pmu-modal-body canvas{
  display: block;
  margin: 0 auto;
  background: #fff;
}
.pmu-grabbing{
  cursor: grabbing !important;
}

#pdf-merge-tool .pmu-fieldset,
.pmu-wrap .pmu-fieldset {
  margin-bottom: 16px;
}
