.v2-button{min-height:var(--button-height);border:var(--component-border-width) solid transparent;border-radius:var(--button-radius);padding:0 var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);background:var(--button-secondary-bg);color:var(--button-secondary-text);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-flat);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);text-decoration:none;display:inline-flex}.v2-button:hover:not(:disabled){transform:translateY(var(--interaction-lift))}.v2-button:focus-visible,.v2-icon-button:focus-visible{box-shadow:var(--effect-green-focus-ring);outline:none}.v2-action-menu-trigger:focus-visible{box-shadow:var(--action-menu-trigger-focus-ring);outline:none}.v2-button:disabled,.v2-icon-button:disabled{border-color:var(--color-border);background:var(--color-surface-muted);color:var(--color-text-muted);box-shadow:none;cursor:not-allowed;opacity:1;transform:none}.v2-button.is-loading:disabled{cursor:progress}.v2-button--primary.is-loading:disabled,.v2-button--primary{border-color:var(--button-primary-border);background:var(--button-primary-bg);color:var(--button-primary-text);box-shadow:var(--button-primary-shadow)}.v2-button--primary:hover:not(:disabled){background:var(--button-primary-hover-bg)}.v2-button--secondary{border-color:var(--button-secondary-border)}.v2-button--secondary:hover:not(:disabled){border-color:var(--button-secondary-hover-border);background:var(--button-secondary-hover-bg)}.v2-button--ghost{background:var(--button-ghost-bg);color:var(--button-ghost-text)}.v2-filter-icon-button{width:var(--input-height);min-width:var(--input-height);border-color:var(--button-secondary-border);padding:0}.v2-filter-icon-button.is-active{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.v2-button--danger{background:var(--button-danger-bg);color:var(--button-danger-text)}.v2-button--sm{min-height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--font-size-small)}.v2-button--full{width:100%}.v2-button .v2-button-icon{width:var(--icon-size-sm);height:var(--icon-size-sm);color:inherit;flex:none;place-items:center;display:inline-grid}.v2-button .v2-button-icon svg{width:var(--icon-size-sm);height:var(--icon-size-sm);color:inherit;stroke-width:var(--icon-button-icon-stroke-width)}.v2-button-spinner{width:var(--icon-size-sm);height:var(--icon-size-sm);border:var(--component-border-width-strong) solid currentColor;border-radius:var(--radius-pill);animation:v2-spin var(--duration-slow) linear infinite;border-right-color:#0000}.v2-icon-button{width:var(--icon-button-size);height:var(--icon-button-size);border:var(--component-border-width) solid var(--button-secondary-border);border-radius:var(--button-radius);background:var(--button-secondary-bg);color:var(--button-secondary-text);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);place-items:center;display:inline-grid}.v2-icon-button:hover:not(:disabled){border-color:var(--effect-green-border-strong);color:var(--color-accent-strong);transform:translateY(var(--interaction-lift))}.v2-icon-button svg{width:var(--icon-button-icon-size);height:var(--icon-button-icon-size);stroke-width:var(--icon-button-icon-stroke-width)}.v2-action-menu{display:inline-flex;position:relative}.v2-action-menu-trigger{width:var(--action-menu-trigger-size);min-width:var(--action-menu-trigger-size);height:var(--action-menu-trigger-size);border:var(--component-border-width) solid var(--action-menu-trigger-border);border-radius:var(--action-menu-trigger-radius);background:var(--action-menu-trigger-bg);color:var(--action-menu-trigger-color);line-height:var(--line-height-flat);cursor:pointer;place-items:center;padding:0;display:inline-grid}.v2-action-menu-trigger:hover{border-color:var(--action-menu-trigger-hover-border);background:var(--action-menu-trigger-hover-bg);color:var(--action-menu-trigger-hover-color)}.v2-action-menu-icon{width:var(--action-menu-icon-size);height:var(--action-menu-icon-size);stroke-width:var(--action-menu-icon-stroke-width)}.v2-action-menu-select{width:var(--space-hairline);height:var(--space-hairline);opacity:0;pointer-events:none;appearance:none;background:0 0;border:0;margin:0;padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.v2-bulk-action-menu{display:inline-flex;position:relative}.v2-bulk-action-menu-trigger{min-height:var(--bulk-action-menu-height);border:var(--component-border-width) solid transparent;border-radius:var(--bulk-action-menu-radius);padding:0 var(--space-3);justify-content:center;align-items:center;gap:var(--space-2);background:var(--button-ghost-bg);color:var(--button-ghost-text);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);line-height:var(--line-height-flat);white-space:nowrap;cursor:pointer;display:inline-flex}.v2-bulk-action-menu-trigger:hover{background:var(--color-surface-muted);color:var(--color-text);border-color:#0000}.v2-bulk-action-menu-trigger:focus-visible{box-shadow:var(--effect-green-focus-ring);outline:none}.v2-bulk-action-menu-trigger svg{width:var(--icon-size-sm);height:var(--icon-size-sm);stroke-width:var(--icon-button-icon-stroke-width)}.v2-bulk-action-menu-select{width:var(--space-hairline);height:var(--space-hairline);opacity:0;pointer-events:none;appearance:none;background:0 0;border:0;margin:0;padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.v2-bulk-action-bar{min-height:var(--table-footer-height);padding:var(--space-2) var(--space-3);border:var(--component-border-width) solid var(--effect-green-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--color-accent-surface);display:flex}.v2-bulk-action-bar-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}@keyframes v2-spin{to{transform:rotate(1turn)}}
