.subtitle { font-size: 12px; color: var(--ink-light); font-weight: 300; letter-spacing: 0.1em; border-left: 2px solid var(--accent); padding-left: 10px; }
.panel-header { padding:10px 16px; border-bottom:1px solid var(--border); background:var(--bg); display:flex; justify-content:space-between; align-items:center; gap:12px; }
    .panel-label { font-size:10px; letter-spacing:.2em; color:var(--ink-light); text-transform:uppercase; }
    .panel-body { padding:18px; }
.hidden { display:none !important; }
    @media (max-width:900px) {
}
  
    /* ── PDF merge drag order controls ── */
    .merge-file-item {
      align-items: center;
      cursor: grab;
      user-select: none;
      transition: background 0.15s, border-color 0.15s, opacity 0.15s;
    }
    .merge-file-item:hover {
      border-color: var(--blue);
      background: var(--blue-light);
    }
    .merge-file-item.dragging {
      opacity: 0.45;
      cursor: grabbing;
    }
    .merge-file-item.drag-over {
      border-color: var(--blue);
      background: #EFF6FF;
    }
    .drag-handle {
      color: var(--ink-light);
      font-size: 15px;
      line-height: 1;
      flex-shrink: 0;
      cursor: grab;
    }

    .merge-file-actions {
      display: flex;
      align-items: center;
      gap: 6px;
      flex-shrink: 0;
    }



    /* ── PDF filename readability fix ── */
    .merge-file-index {
      min-width: 28px;
      height: 28px;
      border-radius: 50%;
      background: var(--blue-light);
      color: var(--blue);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 12px;
      font-weight: 700;
      flex-shrink: 0;
    }
    .merge-file-info {
      min-width: 0;
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 3px;
    }
    .merge-file-name {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      color: var(--ink);
      font-size: 13.5px;
      font-weight: 500;
      line-height: 1.45;
      letter-spacing: 0;
    }

    .merge-file-size {
      color: var(--ink-light);
      font-size: 11.5px;
      font-weight: 600;
      white-space: nowrap;
      background: var(--bg);
      border: 1px solid var(--border);
      border-radius: 999px;
      padding: 4px 8px;
    }


    /* ── PDF merge left controls alignment ── */
    .merge-file-item {
      justify-content: flex-start;
      gap: 10px;
      padding-left: 12px;
    }
    .merge-file-left {
      display: inline-flex;
      align-items: center;
      justify-content: flex-start;
      gap: 8px;
      flex: 0 0 auto;
      min-width: 58px;
    }
    .drag-handle {
      width: 18px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-left: 0;
    }
    .merge-file-index {
      margin-left: 0;
    }


    /* ── PDF merge number and filename inline ── */
    .merge-file-main {
      min-width: 0;
      flex: 1;
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .merge-file-left {
      min-width: 18px;
      flex: 0 0 auto;
    }
    .merge-file-info {
      min-width: 0;
      flex: 1;
    }
    .merge-file-index {
      flex: 0 0 auto;
    }
