.document-thumbnail { position:relative; display:block; flex:none; width:48px; height:62px; overflow:hidden; border:1px solid var(--line); border-radius:5px; background:var(--subtle); }
.document-thumbnail-fallback { position:absolute; inset:0; display:grid; place-items:center; color:var(--muted); }
.document-thumbnail-fallback svg { width:24px; height:24px; }
.document-thumbnail img { position:relative; display:block; width:100%; height:100%; object-fit:contain; background:#fff; opacity:0; transition:opacity .2s ease; }
.document-thumbnail.is-ready img { opacity:1; }
.document-thumbnail.is-ready .document-thumbnail-fallback { visibility:hidden; }
.document-thumbnail.is-unavailable img { visibility:hidden; }
.request-list-page .request-title { grid-template-columns:48px minmax(0,1fr); gap:12px; }
.request-detail .request-document { grid-template-columns:76px minmax(0,1fr) auto; }
.request-detail .document-thumbnail { width:76px; height:98px; }
.template-cover { display:flex; justify-content:center; align-items:center; padding:20px; margin:-24px -24px 20px; height:212px; border-bottom:1px solid var(--line); background:var(--subtle); border-radius:inherit; border-bottom-left-radius:0; border-bottom-right-radius:0; }
.template-cover .document-thumbnail { width:132px; height:171px; box-shadow:0 4px 16px #0000000c; transition:transform .2s ease; }
.template-card:hover .template-cover .document-thumbnail { transform:translateY(-2px); }
.templates-page .template-card-heading { margin-bottom:14px; }
.template-picker-card .document-thumbnail { width:58px; height:75px; }
@media(max-width:600px) { .request-detail .request-document { grid-template-columns:60px minmax(0,1fr); } .request-detail .document-thumbnail { width:60px; height:78px; } }
@media(prefers-reduced-motion:reduce) { .document-thumbnail img,.template-cover .document-thumbnail { transition:none; } .template-card:hover .template-cover .document-thumbnail { transform:none; } }
