.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-2-5) var(--spacing-5);border-radius:var(--radius-button);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);letter-spacing:.01em;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;border:1px solid transparent;cursor:pointer;white-space:nowrap;line-height:1.5}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-success:focus-visible,.btn-danger:focus-visible,.btn-warning:focus-visible,.btn-submit:focus-visible,.btn-cancel:focus-visible,.btn-shop:focus-visible{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:.85em}.btn-primary,.btn-submit,.btn-shop{background:linear-gradient(180deg,var(--color-primary),var(--color-primary-dark));color:var(--color-white);border-color:var(--color-primary-dark);box-shadow:0 1px 2px var(--color-primary-alpha-20)}.btn-primary:hover:not(:disabled),.btn-submit:hover:not(:disabled),.btn-shop:hover:not(:disabled){background:linear-gradient(180deg,#2f9bd4,var(--color-primary));color:var(--color-white);transform:translateY(-1px);box-shadow:0 6px 16px var(--color-primary-alpha-30);text-decoration:none}.btn-primary:active:not(:disabled),.btn-submit:active:not(:disabled),.btn-shop:active:not(:disabled){transform:translateY(0) scale(.99);box-shadow:0 2px 6px var(--color-primary-alpha-20)}.btn-secondary,.btn-cancel{background:var(--color-white);color:var(--color-text);border-color:var(--color-border);box-shadow:0 1px 2px #10163a0a}.btn-secondary:hover:not(:disabled),.btn-cancel:hover:not(:disabled){background:var(--color-primary-alpha-5);border-color:var(--color-primary-alpha-30);color:var(--color-primary);transform:translateY(-1px);box-shadow:0 4px 12px #10163a14;text-decoration:none}.btn-secondary:active:not(:disabled),.btn-cancel:active:not(:disabled){transform:translateY(0) scale(.99);background:var(--color-primary-alpha-8)}.btn-success{background:linear-gradient(180deg,var(--color-success),var(--color-success-dark));color:var(--color-white);border-color:var(--color-success-dark);box-shadow:0 1px 2px #28a74533}.btn-success:hover:not(:disabled){background:linear-gradient(180deg,#34b859,var(--color-success));color:var(--color-white);transform:translateY(-1px);box-shadow:0 6px 16px #28a7454d;text-decoration:none}.btn-success:active:not(:disabled){transform:translateY(0) scale(.99);box-shadow:0 2px 6px #28a74533}.btn-danger{background:linear-gradient(180deg,var(--color-danger),var(--color-danger-dark));color:var(--color-white);border-color:var(--color-danger-dark);box-shadow:0 1px 2px #dc354533}.btn-danger:hover:not(:disabled){background:linear-gradient(180deg,#e45160,var(--color-danger));color:var(--color-white);transform:translateY(-1px);box-shadow:0 6px 16px #dc35454d;text-decoration:none}.btn-danger:active:not(:disabled){transform:translateY(0) scale(.99);box-shadow:0 2px 6px #dc354533}.btn-warning{background:linear-gradient(180deg,var(--color-warning),var(--color-warning-dark));color:var(--color-text-dark);border-color:var(--color-warning-dark);box-shadow:0 1px 2px #ffc10740}.btn-warning:hover:not(:disabled){background:linear-gradient(180deg,#ffca2b,var(--color-warning));color:var(--color-text-dark);transform:translateY(-1px);box-shadow:0 6px 16px #ffc10759;text-decoration:none}.btn-warning:active:not(:disabled){transform:translateY(0) scale(.99)}.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:.55;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-button);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;white-space:nowrap;cursor:pointer}.action-btn:hover{background:var(--color-primary-alpha-5);border-color:var(--color-primary-alpha-30);color:var(--color-primary);transform:translateY(-1px);box-shadow:0 4px 12px #10163a14;text-decoration:none}.action-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-alpha-25)}.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-secondary);font-size:var(--text-sm);text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;cursor:pointer;padding:0}.action-icon-btn:hover{background:var(--color-primary-alpha-8);border-color:var(--color-primary-alpha-30);color:var(--color-primary);text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 10px var(--color-primary-alpha-15)}.action-icon-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-alpha-25)}.action-icon-btn i{font-size:13px}.action-icon-btn-danger:hover{background:var(--color-danger-light, #f8d7da);border-color:var(--color-danger);color:var(--color-danger)}.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-lg);color:var(--color-text-secondary);font-size:12px;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;cursor:pointer;padding:0}.action-btn-sm:hover{background:var(--color-primary-alpha-8);border-color:var(--color-primary-alpha-30);color:var(--color-primary);text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 10px var(--color-primary-alpha-15)}.action-btn-sm i{font-size:11px}.btn-sm{padding:var(--spacing-1-5) var(--spacing-3);font-size:var(--text-xs);border-radius:var(--radius-lg);gap:var(--spacing-1-5)}.btn-sm i{font-size:.85em}.btn-lg{padding:var(--spacing-3-5) var(--spacing-8);font-size:var(--text-base);border-radius:var(--radius-2xl);gap:var(--spacing-2-5)}.btn-lg i{font-size:1em}.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)}}
