.field-group { margin-bottom: 17px; }
.field-label { display: block; color: #aebdd0; font-size: 12px; font-weight: 700; }
.history-type.components { color: #c69cf4; background: rgba(142, 68, 173, .14); border-color: #70428a; }
.v2-container.no-accent { border-left-width: 1px; }
.v2-banner, .v2-hero { display: block; width: 100%; object-fit: cover; border-radius: 6px; }
.v2-banner { max-height: 150px; margin-bottom: 18px; }
.v2-hero { max-height: 430px; margin-top: 16px; }
.v2-section em { display: block; margin: 8px 0 16px; color: #b5bac1; }
.v2-button-row { display: grid; grid-template-columns: 1fr 1.5fr .7fr auto; gap: 8px; margin-bottom: 9px; align-items: center; }
.v2-button-row input { margin: 0; }
.v2-footer-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.v2-footer-row img { width: 42px; height: 42px; border-radius: 6px; object-fit: cover; }
.v2-buttons { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.v2-buttons .v2-link { margin-top: 0; }
@media (max-width: 620px) { .v2-button-row { grid-template-columns: 1fr; } }
.v2-button-emoji-preview { width: 18px; height: 18px; object-fit: contain; vertical-align: middle; }
.upload-control { display: inline-flex; align-items: center; gap: 8px; width: auto; margin-top: 8px; padding: 8px 11px; border: 1px solid #2b4564; border-radius: 8px; background: #102136; color: #b8d5ec; cursor: pointer; font-size: 11px; }
.upload-control input { display: none; }
.upload-control.uploading { opacity: .6; pointer-events: none; }
