.btn-primary,.btn-secondary,.btn-success,.btn-danger,.btn-warning,.btn-submit,.btn-cancel,.btn-shop{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3-5) var(--spacing-6);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:500;text-decoration:none;transition:var(--transition-base);border:1px solid;cursor:pointer;white-space:nowrap;line-height:1.5}.btn-primary:focus,.btn-secondary:focus,.btn-success:focus,.btn-danger:focus,.btn-warning:focus,.btn-submit:focus,.btn-cancel:focus,.btn-shop:focus{outline:none;box-shadow:0 0 0 3px var(--color-primary-alpha-25)}.btn-primary i,.btn-secondary i,.btn-success i,.btn-danger i,.btn-warning i,.btn-submit i,.btn-cancel i,.btn-shop i{font-size:.9rem}.btn-primary,.btn-submit,.btn-shop{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled),.btn-submit:hover:not(:disabled),.btn-shop:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-white);transform:translateY(-1px);box-shadow:var(--shadow-button-hover);text-decoration:none}.btn-primary:active:not(:disabled),.btn-submit:active:not(:disabled),.btn-shop:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-button-active)}.btn-secondary,.btn-cancel{background:var(--color-white);color:var(--color-text-secondary);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled),.btn-cancel:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-400);color:var(--color-text);transform:translateY(-1px);text-decoration:none}.btn-secondary:active:not(:disabled),.btn-cancel:active:not(:disabled){transform:translateY(0);background:var(--color-gray-100)}.btn-success{background:var(--color-success);color:var(--color-white);border-color:var(--color-success)}.btn-success:hover:not(:disabled){background:var(--color-success-dark);border-color:var(--color-success-dark);color:var(--color-white);transform:translateY(-1px);box-shadow:0 4px 8px #28a74540;text-decoration:none}.btn-success:active:not(:disabled){transform:translateY(0)}.btn-danger{background:var(--color-danger);color:var(--color-white);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-dark);border-color:var(--color-danger-dark);color:var(--color-white);transform:translateY(-1px);box-shadow:0 4px 8px #dc354540;text-decoration:none}.btn-danger:active:not(:disabled){transform:translateY(0)}.btn-warning{background:var(--color-warning);color:var(--color-text-dark);border-color:var(--color-warning)}.btn-warning:hover:not(:disabled){background:var(--color-warning-dark);border-color:var(--color-warning-dark);color:var(--color-text-dark);transform:translateY(-1px);box-shadow:0 4px 8px #ffc10740;text-decoration:none}.btn-warning:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled,.btn-secondary:disabled,.btn-success:disabled,.btn-danger:disabled,.btn-warning:disabled,.btn-submit:disabled,.btn-cancel:disabled,.btn-shop:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.action-btn{display:inline-flex;align-items:center;gap:var(--spacing-1-5);padding:var(--spacing-2) var(--spacing-4);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);font-weight:500;text-decoration:none;transition:var(--transition-fast);white-space:nowrap;cursor:pointer}.action-btn:hover{background:var(--color-gray-50);border-color:var(--color-gray-400);color:var(--color-text-dark);text-decoration:none}.action-btn i{font-size:13px}.action-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);text-decoration:none;transition:var(--transition-fast);cursor:pointer;padding:0}.action-icon-btn:hover{background:var(--color-gray-50);border-color:var(--color-gray-400);color:var(--color-text-dark);text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.action-icon-btn i{font-size:13px}.action-btn-sm{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:12px;text-decoration:none;transition:var(--transition-fast);cursor:pointer;padding:0}.action-btn-sm:hover{background:var(--color-gray-50);border-color:var(--color-gray-400);color:var(--color-text-dark);text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.action-btn-sm i{font-size:11px}.btn-sm{padding:var(--spacing-1-5) var(--spacing-3);font-size:var(--text-sm);gap:var(--spacing-1-5)}.btn-sm i{font-size:.8rem}.btn-lg{padding:var(--spacing-4) var(--spacing-8);font-size:var(--text-lg);gap:var(--spacing-2-5)}.btn-lg i{font-size:1rem}.btn-block{width:100%;justify-content:center}.btn-group{display:flex;gap:var(--spacing-3);flex-wrap:wrap}@media (max-width: 576px){.btn-group{flex-direction:column}.btn-group .btn-primary,.btn-group .btn-secondary,.btn-group .btn-success,.btn-group .btn-danger,.btn-group .btn-warning,.btn-group .btn-submit,.btn-group .btn-cancel{width:100%}}.spinner-border{display:inline-block;width:1rem;height:1rem;vertical-align:text-bottom;border:.15em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:.875rem;height:.875rem;border-width:.125em}@keyframes spinner-border{to{transform:rotate(360deg)}}
