.vk-btn { font-family: var(--font-ui); color: var(--vk-btn-text); text-decoration: none; transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease, opacity 120ms ease; }
.vk-btn:hover { text-decoration: none; color: var(--vk-btn-text); }
.vk-btn:focus, .vk-btn:focus-visible { outline: none; box-shadow: none; }
.vk-btn.is-disabled, .vk-btn:disabled, .vk-btn[aria-disabled="true"] { opacity: 0.58; cursor: default; pointer-events: none; }
.vk-btn--shell { min-height: 36px; padding: 8px 10px; border: 1px solid var(--vk-btn-border); border-radius: 8px; background: var(--vk-btn-bg); color: var(--vk-btn-text); font-size: 13px; font-weight: 600; line-height: 1.35; box-shadow: none; }
.vk-btn--shell:hover { background: var(--vk-btn-bg-hover); border-color: var(--vk-btn-border-hover); }
.vk-btn--shell.is-active { background: var(--vk-btn-bg-active); border-color: var(--vk-btn-border-active); }
.vk-btn--subtle { min-height: 34px; padding: 7px 9px; border: 1px solid var(--vk-btn-subtle-border); border-radius: 8px; background: var(--vk-btn-subtle-bg); color: #3a332c; font-size: 12px; font-weight: 600; line-height: 1.35; box-shadow: none; }
.vk-btn--subtle:hover { background: var(--vk-btn-subtle-bg-hover); border-color: var(--vk-btn-subtle-border-hover); }
.vk-btn--subtle.is-active { background: var(--vk-btn-subtle-bg-active); border-color: var(--vk-btn-subtle-border-active); color: var(--vk-btn-text); }
.vk-btn--icon { min-width: 36px; min-height: 36px; border: 1px solid var(--vk-btn-border); border-radius: 8px; background: var(--vk-btn-bg); color: var(--vk-btn-text); box-shadow: none; }
.vk-btn--icon:hover { background: var(--vk-btn-bg-hover); border-color: var(--vk-btn-border-hover); }
.vk-btn--icon.is-active, .vk-btn--icon.is-open { background: var(--vk-btn-bg-active); border-color: var(--vk-btn-border-active); }
.vk-btn--panel { width: 38px; height: 38px; min-width: 38px; min-height: 38px; padding: 0; border-radius: 10px; border-color: var(--vk-btn-panel-border); background: var(--vk-btn-panel-bg); box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; appearance: none; -webkit-appearance: none; line-height: 0; font-size: 0; }
.vk-btn--panel:hover { background: var(--vk-btn-panel-bg-hover); border-color: var(--vk-btn-panel-border-hover); }
.vk-btn--primary { min-height: 36px; padding: 8px 10px; border: 1px solid var(--vk-btn-primary-border); border-radius: 8px; background: var(--vk-btn-primary-bg); color: var(--vk-btn-primary-text); font-size: 13px; font-weight: 600; line-height: 1.35; box-shadow: none; }
.vk-btn--primary:hover { background: var(--vk-btn-primary-bg-hover); border-color: var(--vk-btn-primary-border-hover); color: var(--vk-btn-primary-text); }
.vk-btn--ghost { min-height: 36px; padding: 8px 10px; border: 1px solid var(--vk-btn-subtle-border); border-radius: 8px; background: var(--vk-btn-bg); color: var(--vk-btn-text); font-size: 13px; font-weight: 600; line-height: 1.35; box-shadow: none; }
.vk-btn--ghost:hover { background: var(--vk-btn-bg-hover); border-color: var(--vk-btn-border-hover); }
.vk-btn--cancel { background: var(--vk-action-cancel-bg); border-color: var(--vk-action-cancel-border); color: var(--vk-action-cancel-text); }
.vk-btn--cancel:hover { background: var(--vk-action-cancel-bg-hover); border-color: var(--vk-action-cancel-border-hover); color: var(--vk-action-cancel-text); }
.vk-btn--delete { background: var(--vk-action-delete-bg); border-color: var(--vk-action-delete-border); color: var(--vk-action-delete-text); }
.vk-btn--delete:hover { background: var(--vk-action-delete-bg-hover); border-color: var(--vk-action-delete-border-hover); color: var(--vk-action-delete-text); }
.vk-btn--confirm { background: var(--vk-action-confirm-bg); border-color: var(--vk-action-confirm-border); color: var(--vk-action-confirm-text); }
.vk-btn--confirm:hover { background: var(--vk-action-confirm-bg-hover); border-color: var(--vk-action-confirm-border-hover); color: var(--vk-action-confirm-text); }
.vk-btn--compound { min-height: 40px; padding: 0 10px; border: 1px solid var(--vk-btn-subtle-border); border-radius: 10px; background: var(--vk-btn-subtle-bg); color: #2f2821; font-size: 13px; font-weight: 600; box-shadow: none; }
.vk-btn--compound:hover { background: var(--vk-btn-subtle-bg-hover); border-color: var(--vk-btn-subtle-border-hover); }
.vk-btn--micro { min-height: 20px; padding: 2px 6px; border-radius: 8px; font-size: 11px; font-weight: 700; }
.vk-btn--micro.vk-btn--subtle { border-color: #d2cbc2; background: rgba(255,255,255,0.72); color: #221f1b; }
.vk-btn--micro.vk-btn--subtle:hover { background: rgba(255,255,255,0.92); border-color: #c8beb2; }
.vk-btn--micro.is-primary { border-color: #a99884; background: #e9e1d5; color: #2a241e; }
.vk-btn--embedded { min-height: 26px; margin-right: 6px; padding: 0 8px; border: 0; border-radius: 7px; background: var(--vk-btn-embedded-bg); color: var(--vk-btn-text-muted); font-size: 11px; font-weight: 700; box-shadow: none; }
.vk-btn--embedded:hover { background: var(--vk-btn-embedded-bg-hover); color: var(--vk-btn-text); }
.vk-btn--embedded.is-active { background: var(--vk-btn-embedded-bg-active); color: var(--vk-btn-text); }
.vk-btn--pagination { display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; }
.vk-btn .lucide { display: block; flex: 0 0 auto; }
.vk-btn--panel .lucide { display: block; width: 16px; height: 16px; stroke-width: 1.9; }
