.v2-brand-scope .btn-primary {
  --bs-btn-color: var(--v2-brand-on-primary);
  --bs-btn-bg: var(--v2-brand-primary);
  --bs-btn-border-color: var(--v2-brand-primary);
  --bs-btn-hover-color: var(--v2-brand-on-primary);
  --bs-btn-hover-bg: var(--v2-brand-primary);
  --bs-btn-hover-border-color: var(--v2-brand-primary);
  --bs-btn-active-color: var(--v2-brand-on-primary);
  --bs-btn-active-bg: var(--v2-brand-primary);
  --bs-btn-active-border-color: var(--v2-brand-primary);
}
.v2-brand-scope .btn-primary:hover { box-shadow: 0 0 0 3px color-mix(in srgb, var(--v2-brand-primary) 24%, transparent); }
.v2-brand-scope .btn-outline-primary {
  --bs-btn-color: color-mix(in srgb, var(--v2-brand-primary) 60%, var(--bs-body-color));
  --bs-btn-border-color: var(--v2-brand-primary);
  --bs-btn-hover-color: var(--v2-brand-on-primary);
  --bs-btn-hover-bg: var(--v2-brand-primary);
  --bs-btn-hover-border-color: var(--v2-brand-primary);
}
.v2-brand-scope .v2-panel-header,
.v2-brand-scope .lv-header { border-bottom-color: var(--v2-brand-accent) !important; }
.v2-brand-scope .lv-action > i:first-child { color: color-mix(in srgb, var(--v2-brand-secondary) 55%, var(--bs-body-color)); }
.v2-brand-scope .lv-action:hover { border-color: var(--v2-brand-detail); }
.v2-brand-scope .lv-more { border-top-color: var(--v2-brand-detail); }
.v2-brand-scope .v2-quick-dialog-shell > header { border-bottom-color: var(--v2-brand-detail); }
.v2-palette-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.v2-palette-field { display: grid; gap: 6px; min-width: 0; }
.v2-palette-field .form-control-color { width: 100%; height: 44px; cursor: pointer; }
.v2-palette-sample { border-top: 4px solid var(--v2-brand-accent); padding: 14px 0; }
.v2-palette-sample h4 { font-size: 1.1rem; margin: 7px 0 4px; color: var(--bs-body-color); }
.v2-palette-sample p { margin: 0 0 12px; color: var(--bs-secondary-color); }
.v2-palette-sample .v2-palette-detail { display: inline-block; border-bottom: 3px solid var(--v2-brand-detail); padding-bottom: 3px; }
.v2-palette-sample .v2-palette-accent { display: inline-block; width: 36px; height: 6px; margin-left: 9px; vertical-align: middle; background: var(--v2-brand-accent); }
.v2-palette-sample .v2-palette-button { border: 1px solid var(--v2-brand-primary); border-radius: 6px; padding: 9px 14px; background: var(--v2-brand-primary); color: var(--v2-brand-on-primary); font-weight: 700; }
.v2-palette-sample .v2-palette-secondary { display: inline-block; width: 36px; height: 6px; margin-left: 9px; vertical-align: middle; background: var(--v2-brand-secondary); }

.v2-brand-assets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.v2-brand-asset { display: grid; grid-template-columns: minmax(108px, 32%) minmax(0, 1fr); gap: 1rem; align-items: start; padding: 1rem; border: 1px solid var(--bs-border-color); border-radius: .5rem; background: var(--bs-body-bg); }
.v2-brand-asset-preview { display: grid; place-items: center; min-height: 104px; padding: .75rem; border: 1px solid var(--bs-border-color); border-radius: .375rem; background: #f7f3ea; overflow: hidden; }
.v2-brand-asset-preview.is-dark { background: #174a43; }
.v2-brand-asset-preview img { display: block; width: 100%; max-height: 82px; object-fit: contain; }
.v2-platform-preview { position: sticky; top: 5.5rem; }
.v2-platform-savebar { position: sticky; z-index: 5; bottom: 0; margin: 0 -.75rem; padding: .75rem; background: color-mix(in srgb, var(--bs-body-bg) 92%, transparent); border-top: 1px solid var(--bs-border-color); backdrop-filter: blur(8px); }
@media (max-width: 991.98px) {
  .v2-platform-preview { position: static; }
  .v2-brand-assets { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
  .v2-brand-asset { grid-template-columns: 1fr; }
  .v2-brand-asset-preview { min-height: 120px; }
  .v2-platform-savebar .btn { width: 100%; min-height: 46px; }
}
