.pt-files li { grid-template-columns: auto auto minmax(0, 1fr) minmax(7rem, 11rem) auto; }
.pt-handle { width: 1.8rem; height: 2.4rem; border: 0; background: transparent; color: #6b7178; letter-spacing: -2px; cursor: grab; touch-action: none; border-radius: 3px; font-size: .95rem; }
.pt-handle:hover { background: #E1E5E8; color: var(--ink); }
.pt-badge { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; background: var(--blue-tint); color: var(--blue-dark); font-weight: 700; font-size: .8rem; border-radius: 4px; }
.pt-files .pt-pages input { padding: .3rem .4rem; font-size: .9rem; }
.pt-files .pt-pages label { font-size: .75rem; color: var(--muted); display: grid; gap: .1rem; }
.pt-row-btns { display: flex; gap: .2rem; flex-wrap: wrap; justify-content: flex-end; }
.pt-row-btns .btn { padding: .25rem .5rem; min-width: 2.4rem; }
.pt-files li.is-dragging { opacity: .45; } .pt-files li.drop-before { box-shadow: 0 -3px 0 #0b5cab; } .pt-files li.drop-after { box-shadow: 0 3px 0 #0b5cab; }
body.pt-dragging, body.pt-dragging * { user-select: none !important; cursor: grabbing !important; }
.pt-doc { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .8rem; align-items: center; }
.pt-modes { border: 0; padding: 0; margin: 0 0 .8rem; display: grid; gap: .45rem; }
@media (max-width: 46rem) { .pt-files li { grid-template-columns: auto minmax(0, 1fr); } .pt-files .pt-pages, .pt-files .pt-row-btns { grid-column: 1 / -1; } }
