/* Image to PDF styles — single column at every width (DESIGN.md 4.3). */
.kw-ip { display: grid; gap: var(--kw-space-5); }

.kw-ip__list { max-height: 340px; overflow-y: auto; }

.kw-ip__index {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: var(--kw-radius-full);
  background: var(--kw-surface-2);
  color: var(--kw-muted);
  font-size: var(--kw-fs-sm);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

/* Name on the first line, size + badge on the second (Lens 2026-11-08): keeps
   mobile rows readable when the action buttons take the right edge. */
.kw-ip__file-copy { display: grid; flex: 1; min-width: 0; gap: 2px; }
.kw-ip__file-sub {
  display: flex;
  align-items: center;
  gap: var(--kw-space-2);
  min-width: 0;
  font-variant-numeric: tabular-nums;
}

/* Badges shrink with ellipsis instead of pushing into the action column. */
.kw-ip__note {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kw-ip__row-actions {
  display: flex;
  flex-shrink: 0;
  gap: var(--kw-space-1);
  margin-left: auto;
}

.kw-ip__btn-icon { display: none; }

.kw-ip__export { display: grid; gap: var(--kw-space-3); }
.kw-ip__export .kw-hint { min-height: 1.5em; margin: 0; }
.kw-ip__live { display: grid; gap: var(--kw-space-3); }
.kw-ip__live .kw-alert p { margin: 0; }
.kw-ip__live .kw-actions { margin-top: var(--kw-space-3); }

@media (max-width: 767px) {
  /* Icon-only 44px square actions on touch screens; labels stay on desktop. */
  .kw-ip__row-actions .kw-btn {
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0;
    justify-content: center;
  }
  .kw-ip__btn-label { display: none; }
  .kw-ip__btn-icon { display: inline-flex; }
  .kw-ip__export .kw-btn--primary { width: 100%; }
}

