/* Bố cục khung chi tiết dùng chung, đang chờ duyệt; không có CSS theo module. */
.row-detail { padding: var(--filter-padding-x); background: var(--surface); display: grid; gap: var(--region-gap); min-width: 0; }
.row-detail__panel { min-width: 0; }
.row-detail__summary { display: flex; gap: var(--button-padding-x); align-items: start; }
.row-detail__image { width: 96px; aspect-ratio: 1; flex-shrink: 0; display: grid; place-items: center; background: var(--workspace); border: var(--filter-border); border-radius: var(--filter-radius); color: var(--hint); font-size: var(--hint-size); }
.row-detail__fields { flex: 1; min-width: 0; margin: 0; display: grid; grid-template-columns: repeat(var(--detail-columns,2),minmax(0,1fr)); gap: var(--button-padding-x); }
.row-detail__fields > div { min-width: 0; overflow-wrap: anywhere; }
.row-detail__fields dt { font-size: var(--hint-size); font-weight: 600; }
.row-detail__fields dd { margin: 4px 0 0; font-size: var(--table-text-size); font-weight: 400; }
.row-detail__empty { padding: var(--button-padding-x); color: var(--hint); font-size: var(--hint-size); }
.row-detail__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--button-gap); margin-top: var(--button-padding-x); }
/* Thanh thao tác hai nhóm dùng chung; không đặt CSS nội tuyến theo module. */
.row-detail__actions--split { justify-content: space-between; border-top: var(--table-border); }
.row-detail-preview { height: 100dvh; padding: 12px; display: flex; flex-direction: column; gap: 3px; }
.row-detail-preview > p, .row-detail-preview > h1 { margin: 0; }
.row-detail-preview__table { flex: 1; min-height: 0; display: flex; }
@media (max-width: 960px) { .row-detail__fields { grid-template-columns: repeat(2,minmax(0,1fr)); } }
