.bl-button, .bl-icon-button { border: 1px solid transparent; cursor: pointer; transition: background var(--bl-transition),border-color var(--bl-transition),color var(--bl-transition),transform var(--bl-transition),opacity var(--bl-transition); }
.bl-button { width: auto; min-height: 42px; padding: 0 15px; border-color: var(--bl-brand); border-radius: 10px; background: var(--bl-brand); color: #fff; font-size: 11px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.bl-button:hover { background: var(--bl-brand-hover); border-color: var(--bl-brand-hover); }
.bl-button:active { transform: translateY(1px); }
.bl-button:disabled, .bl-icon-button:disabled { cursor: not-allowed; opacity: .52; }
.bl-button-secondary { background: var(--bl-surface); color: var(--bl-text); border-color: var(--bl-line-strong); }
.bl-button-secondary:hover { background: var(--bl-soft-2); border-color: #c5c4be; }
.bl-button-quiet { background: transparent; color: var(--bl-muted); border-color: transparent; }
.bl-button-quiet:hover { background: var(--bl-soft); color: var(--bl-text); }
.bl-button-danger { background: var(--bl-surface); color: var(--bl-danger); border-color: #e5cbc8; }
.bl-button-danger:hover { background: var(--bl-danger-soft); border-color: #dcb8b4; }
.bl-button-sm { min-height: 36px; padding: 0 11px; font-size: 10px; }
.bl-button-inline { min-width: 120px; }
.bl-icon-button { width: 40px; height: 40px; padding: 0; border-color: var(--bl-line); border-radius: 11px; background: rgba(255,255,255,.75); color: var(--bl-muted); display: inline-grid; place-items: center; }
.bl-icon-button:hover { background: #fff; color: var(--bl-text); border-color: var(--bl-line-strong); }
.bl-text-button { padding: 5px 0; border: 0; background: transparent; color: var(--bl-muted); font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
.bl-text-button:hover { color: var(--bl-text); }
.bl-text-danger { color: var(--bl-danger); }
.bl-actions-row { margin-top: 17px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.bl-actions-stack { display: grid; gap: 9px; margin-top: 18px; }

.bl-actions-row-inline { margin-top: 0; }
