/* App-specific overrides on top of AdminLTE 3. */
.table td, .table th { vertical-align: middle; }
.audit-details { max-width: 520px; white-space: pre-wrap; word-break: break-word; font-size: .8rem; margin: 0; }
.form-inline-actions form { display: inline; }

/* Wizard step 3: avatar thumbnail and launcher preview. */
.widget-avatar-preview { width: 56px; height: 56px; border-radius: 50%; background: var(--color-surface-inset); display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0; color: var(--color-text-muted); font-size: 1.3rem; }
.widget-avatar-preview img { width: 100%; height: 100%; object-fit: cover; }
.widget-preview-stage { position: relative; height: 120px; border-radius: var(--radius-sm); background: repeating-linear-gradient(45deg, var(--gray-75), var(--gray-75) 10px, var(--gray-100) 10px, var(--gray-100) 20px); margin-bottom: .5rem; }
.widget-preview-launcher { position: absolute; right: 16px; bottom: 16px; height: 56px; min-width: 56px; border-radius: 28px; color: var(--white); display: flex; align-items: center; justify-content: center; gap: 8px; box-shadow: var(--shadow-md); font-weight: 600; }
.widget-preview-stage.is-left .widget-preview-launcher { right: auto; left: 16px; }
.widget-preview-launcher.is-bar { padding: 0 20px 0 14px; height: 48px; }
.widget-preview-text:empty { display: none; }
.widget-preview-icon img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; display: block; }
