/* Assets ▸ 📁 Documents — tiles with a hover preview, the preview modal (bot_registry/pages/equipment.py) */
.reg-doc-grid { display: flex; flex-wrap: wrap; gap: 12px; }
.reg-doc-tile { position: relative; width: 168px; }
.reg-doc-tile .reg-doc-btn { display: block; width: 100%; text-align: left; background: #fff; border: 1px solid #e3e6ea; border-radius: 8px;
  padding: 6px; cursor: zoom-in; transition: box-shadow .12s, border-color .12s; }
.reg-doc-tile .reg-doc-btn:hover { border-color: #b8860b; box-shadow: 0 6px 18px rgba(27, 42, 74, .16); }
.reg-doc-tile img.reg-doc-thumb { width: 154px; height: 118px; object-fit: cover; object-position: top center; border-radius: 5px; background: #f4f5f7; display: block; }
.reg-doc-tile .reg-doc-title { font-size: .8rem; font-weight: 600; color: #1b2a4a; margin-top: 6px; line-height: 1.2; max-height: 2.4em; overflow: hidden;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: break-word; }
.reg-doc-tile .reg-doc-meta { font-size: .7rem; color: #6c757d; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.reg-doc-tile.reg-doc-missing .reg-doc-btn { opacity: .55; filter: grayscale(1); }
/* the hover card: a bigger look at the page, right of the tile (left when there is no room); CSS only, no callback */
.reg-doc-hover { display: none; position: absolute; left: 176px; top: 0; z-index: 1200; width: 360px; background: #fff; border: 1px solid #d6d0c2;
  border-top: 3px solid #b8860b; border-radius: 4px; box-shadow: 0 12px 34px rgba(18, 32, 60, .28); padding: 10px; pointer-events: none; }
.reg-doc-tile:hover .reg-doc-hover { display: block; }
.reg-doc-tile.reg-doc-flip .reg-doc-hover { left: auto; right: 176px; }
.reg-doc-hover img { width: 100%; max-height: 300px; object-fit: cover; object-position: top center; border: 1px solid #e3e6ea; border-radius: 3px; background: #fff; }
.reg-doc-hover .reg-doc-hover-title { font-size: .9rem; font-weight: 600; color: #1b2a4a; margin: 8px 0 4px; word-break: break-word; }
.reg-doc-hover dl { margin: 0; font-size: .74rem; display: grid; grid-template-columns: auto 1fr; gap: 1px 10px; }
.reg-doc-hover dt { color: #6c757d; text-transform: uppercase; font-size: .62rem; letter-spacing: .08em; padding-top: 2px; }
.reg-doc-hover dd { margin: 0; }
.reg-doc-hover .reg-doc-hover-hint { font-size: .7rem; color: #9a6b00; margin-top: 6px; }
@media (max-width: 991px) { .reg-doc-hover { display: none !important; } }
/* the preview modal */
.reg-doc-preview-frame { width: 100%; height: 72vh; border: 1px solid #e3e6ea; border-radius: 6px; background: #f8f9fa; }
.reg-doc-preview-img { max-width: 100%; max-height: 72vh; display: block; margin: 0 auto; border-radius: 6px; }
.reg-doc-comment { border-left: 3px solid #b8860b; padding: 4px 8px; margin-bottom: 8px; background: #fffaf0; border-radius: 0 4px 4px 0; }
.reg-doc-comment .who { font-size: .72rem; color: #6c757d; }
.reg-doc-comment .what { font-size: .86rem; white-space: pre-wrap; }
