.btn{font-family:var(--font-primary,"Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif);font-weight:var(--font-weight-medium,500);font-size:var(--font-size-base,1rem);line-height:var(--line-height-base);border-radius:var(--border-radius,6px);cursor:pointer;transition:var(--transition-fast,all .15s ease);text-align:center;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;box-sizing:border-box;border:none;flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;width:auto;min-height:40px;padding:10px 20px;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:focus,.btn:focus-visible{box-shadow:var(--box-shadow-focus,0 0 0 3px #007bff40);outline:none}.btn:disabled{opacity:.65;pointer-events:none;cursor:not-allowed}.btn-primary{background-color:var(--primary-color,#007bff);color:#fff;box-shadow:var(--box-shadow-primary);border:none}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover,#0069d9);box-shadow:var(--box-shadow-primary);transform:translateY(-2px)}.btn-primary:active:not(:disabled){box-shadow:var(--box-shadow-primary);transform:scale(.98)}.btn-secondary{color:var(--primary-color,#007bff);border:1px solid var(--primary-color,#007bff);background-color:#0000}.btn-secondary:hover:not(:disabled){box-shadow:var(--box-shadow-sm,0 1px 3px #0000001a);background-color:#f0f7ff;transform:translateY(-2px)}.btn-secondary:active:not(:disabled){box-shadow:none;transform:translateY(0)}.btn-danger{background-color:var(--danger-color,#dc3545);color:#fff}.btn-danger:hover:not(:disabled){box-shadow:var(--box-shadow-sm,0 1px 3px #0000001a);background-color:#c82333;transform:translateY(-2px)}.btn-warning{background-color:var(--warning-color,#ffc107);color:#212529}.btn-warning:hover:not(:disabled){background-color:#e0a800;transform:translateY(-2px)}.btn-success{background-color:var(--success-color,#28a745);color:#fff}.btn-success:hover:not(:disabled){background-color:#218838;transform:translateY(-2px)}.btn-ghost{color:var(--text-color,#212529);border:1px solid var(--border-color,#dee2e6);background-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--light-gray,#f8f9fa);transform:translateY(-2px)}.btn-link{color:var(--primary-color,#007bff);box-shadow:none;background-color:#0000;border-radius:0;padding:0;text-decoration:underline}.btn-link:hover:not(:disabled){color:var(--primary-hover,#0056b3);text-decoration:underline}.btn-download{background-color:var(--primary-color,#106cc8);color:#fff;font-weight:var(--font-weight-medium);border:none;border-radius:6px;padding:12px 20px;transition:background-color .2s}.btn-download:hover:not(:disabled){background-color:#0e5aa8}.btn-icon{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:8px;display:flex}.btn-small{font-size:var(--font-size-sm,.875rem);padding:6px 12px}.btn-medium{font-size:var(--font-size-base,1rem);padding:10px 20px}.btn-large{font-size:var(--font-size-md,1.125rem);padding:12px 24px}.btn-full{width:100%;font-size:var(--font-size-md,1.125rem);padding:15px 30px}.btn-icon-left{flex-shrink:0;justify-content:center;align-items:center;margin-right:8px;display:inline-flex}.btn-icon-right{flex-shrink:0;justify-content:center;align-items:center;margin-left:8px;display:inline-flex}.btn-full-width{width:100%;display:flex}@media (max-width:768px){.btn-mobile-full,.btn-full-width{width:100%;display:flex}}.btn-loading{cursor:wait;position:relative}.btn-loading .btn-text{visibility:visible;opacity:.7}.btn-text{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;justify-content:center;align-items:center;min-width:0;max-width:100%;display:inline-flex;overflow:hidden}@media (max-width:240px){.btn-text{white-space:normal;line-height:var(--line-height-tight)}}.btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;margin-right:8px;animation:1s ease-in-out infinite btn-spin;display:inline-block;position:relative}@keyframes btn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-primary.btn-loading:after,.btn-success.btn-loading:after,.btn-danger.btn-loading:after,.btn-warning.btn-loading:after{border-top-color:#fff3;border-bottom-color:#fff3;border-right-color:#fff3}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn-disabled{opacity:.65;pointer-events:none;cursor:not-allowed}.btn-group{align-items:center;display:flex}.btn-group-horizontal{flex-direction:row}.btn-group-vertical{flex-direction:column}.btn-group-align-start{justify-content:flex-start}.btn-group-align-center{justify-content:center}.btn-group-align-end{justify-content:flex-end}.btn-group-align-space-between{justify-content:space-between}.btn-group-gap-small{gap:8px}.btn-group-gap-medium{gap:15px}.btn-group-gap-large{gap:24px}@media (max-width:768px){.btn-group-horizontal{flex-direction:column}.btn-group .btn{width:100%}}@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover:not(:disabled){transform:none}.btn-spinner{animation:none}}
