.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-weight-bold);line-height:1;cursor:pointer;transition:all var(--transition-base);background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-color)}.btn:hover:not(:disabled){background:var(--surface-card-hover);border-color:var(--border-color-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn:active:not(:disabled){transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent-gradient);color:#fff;border:none}.btn--primary:hover:not(:disabled){filter:brightness(1.1);box-shadow:var(--shadow-glow)}.btn--success{background:var(--success);color:#fff;border:none}.btn--success:hover:not(:disabled){background:color-mix(in srgb,var(--success) 85%,#000);box-shadow:0 4px 12px rgba(34,197,94,.3)}.btn--danger{background:var(--danger);color:#fff;border:none}.btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 85%,#000);box-shadow:0 4px 12px rgba(239,68,68,.3)}.btn--warning{background:var(--warning);color:var(--text-on-light);border:none}.btn--warning:hover:not(:disabled){background:color-mix(in srgb,var(--warning) 85%,#000);box-shadow:0 4px 12px rgba(245,158,11,.3)}.btn--info{background:var(--info);color:#fff;border:none}.btn--info:hover:not(:disabled){background:color-mix(in srgb,var(--info) 85%,#000);box-shadow:0 4px 12px rgba(59,130,246,.3)}.btn--secondary{background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-color)}.btn--secondary:hover:not(:disabled){background:var(--surface-card-hover);border-color:var(--border-color-hover)}.btn--sm{padding:var(--space-xs) var(--space-sm);font-size:var(--font-xs)}.btn--lg{padding:var(--space-md) var(--space-lg);font-size:var(--font-md)}.btn--icon{width:32px;height:32px;padding:0;border-radius:var(--radius-full);background:0 0;border:1px solid var(--border-color);color:var(--text-secondary)}.btn--icon:hover{background:var(--surface-card-hover);color:var(--text-primary);border-color:var(--border-color-hover);transform:translateY(-2px)}.btn--icon.btn--sm{width:28px;height:28px}.btn--icon.btn--lg{width:40px;height:40px}.btn--block{width:100%}.btn--loading{position:relative;color:transparent!important;pointer-events:none}.btn--loading::after{content:'';position:absolute;width:16px;height:16px;top:calc(50% - 8px);left:calc(50% - 8px);border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:var(--radius-full);animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn--action{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:var(--font-weight-medium)}.btn--action.approve{background:var(--success-light);color:var(--success);border:1px solid var(--success)}.btn--action.approve:hover{filter:brightness(1.2);background:var(--success);color:#fff}.btn--action.ban{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger)}.btn--action.ban:hover{filter:brightness(1.2);background:var(--danger);color:#fff}.btn--action.unban{background:var(--info-light);color:var(--info);border:1px solid var(--info)}.btn--action.unban:hover{filter:brightness(1.2);background:var(--info);color:#fff}.btn-remove{width:30px;height:30px;padding:0;background:var(--danger-light);border:1px solid var(--danger);border-radius:var(--radius-sm);color:var(--danger);font-weight:700;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.btn-remove:hover{background:var(--danger);color:#fff;transform:scale(1.05)}.btn-mobile-upload{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-lg) var(--space-xl);background:linear-gradient(135deg,var(--surface-card) 0,rgba(118,75,162,.2) 100%);border:2px dashed var(--border-color-hover);border-radius:var(--radius-xl);color:var(--text-primary);font-size:var(--font-sm);cursor:pointer;transition:all var(--transition-base);flex:1;max-width:200px}.btn-mobile-upload:active,.btn-mobile-upload:hover{background:linear-gradient(135deg,var(--surface-card-hover) 0,rgba(118,75,162,.3) 100%);border-color:var(--accent-primary);transform:scale(1.02)}.btn-mobile-upload .btn-icon{font-size:var(--font-2xl)}@media (max-width:var(--breakpoint-sm)){.btn-mobile-upload{padding:var(--space-md) var(--space-lg)}.btn-mobile-upload .btn-icon{font-size:var(--font-xl)}}.btn-optimize{width:100%;padding:var(--space-md) var(--space-lg);font-size:var(--font-md);font-weight:700;background:var(--accent-gradient);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;transition:all var(--transition-base)}.btn-optimize:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow)}.btn-optimize:disabled{opacity:.5;cursor:not-allowed}.btn-save{background:var(--success);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-lg);font-size:var(--font-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs)}.btn-save:hover:not(:disabled){background:color-mix(in srgb,var(--success) 85%,#000);box-shadow:0 4px 12px rgba(34,197,94,.3);transform:translateY(-2px)}.btn-confirm{background:var(--success);color:#fff;border:none;padding:var(--space-md);border-radius:var(--radius-md);cursor:pointer;font-weight:700}.btn-skip{background:var(--warning);color:#fff;border:none;padding:var(--space-md);border-radius:var(--radius-md);cursor:pointer;font-weight:700}.btn-cancel{background:var(--danger);color:#fff;border:none;padding:var(--space-md);border-radius:var(--radius-md);cursor:pointer;font-weight:700}.btn-add-stat-manual{width:100%;margin-top:10px;padding:10px;background:var(--surface-3);border:2px dashed var(--border-color);border-radius:8px;cursor:pointer;color:var(--text-secondary)}.btn-primary{background:var(--accent-gradient);color:#fff;border:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-weight-bold);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);cursor:pointer;transition:all var(--transition-base)}.btn-primary:hover{filter:brightness(1.1);box-shadow:var(--shadow-glow)}.btn-success{background:var(--success);color:#fff;border:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-weight-bold);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);cursor:pointer}.btn-success:hover{background:color-mix(in srgb,var(--success) 85%,#000);box-shadow:0 4px 12px rgba(34,197,94,.3)}.btn-danger{background:var(--danger);color:#fff;border:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-weight-bold);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);cursor:pointer}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 85%,#000);box-shadow:0 4px 12px rgba(239,68,68,.3)}.btn-warning{background:var(--warning);color:var(--text-on-light);border:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-weight-bold);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);cursor:pointer}.btn-warning:hover{background:color-mix(in srgb,var(--warning) 85%,#000);box-shadow:0 4px 12px rgba(245,158,11,.3)}.btn-info{background:var(--info);color:#fff;border:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-weight-bold);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);cursor:pointer}.btn-info:hover{background:color-mix(in srgb,var(--info) 85%,#000);box-shadow:0 4px 12px rgba(59,130,246,.3)}.btn-secondary{background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-color);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-weight-bold);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);cursor:pointer}.btn-secondary:hover{background:var(--surface-card-hover);border-color:var(--border-color-hover)}.btn-sm{padding:var(--space-xs) var(--space-sm);font-size:var(--font-xs)}.btn-lg{padding:var(--space-md) var(--space-lg);font-size:var(--font-md)}.btn-block{width:100%}.btn-action{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:var(--font-weight-medium);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);cursor:pointer;transition:all var(--transition-base)}.btn-approve{background:var(--success-light);color:var(--success);border:1px solid var(--success);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:var(--font-weight-medium);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);cursor:pointer}.btn-approve:hover{filter:brightness(1.2);background:var(--success);color:#fff}.btn-ban{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:var(--font-weight-medium);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);cursor:pointer}.btn-ban:hover{filter:brightness(1.2);background:var(--danger);color:#fff}.btn-unban{background:var(--info-light);color:var(--info);border:1px solid var(--info);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:var(--font-weight-medium);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);cursor:pointer}.btn-unban:hover{filter:brightness(1.2);background:var(--info);color:#fff}